我有一系列功能完全相同的服務器,由我的學校提供,可運行各種操作系統和硬件配置。大多數情況下,我可以互換使用其中的5種。不幸的是,其他學生傾向於在一些機器上聚集在一起,找到一個沒有陷入困境的人是一種痛苦。可以將命令從服務器輸出到本地機器嗎?
我想什麼是SSH連接到機器上,運行命令:
w | wc -l
獲得該服務器上的負載的粗略估計,並利用這些信息來選擇影響最小的。一種客戶端負載均衡器。
有沒有辦法做到這一點或達到相同的結果?
我有一系列功能完全相同的服務器,由我的學校提供,可運行各種操作系統和硬件配置。大多數情況下,我可以互換使用其中的5種。不幸的是,其他學生傾向於在一些機器上聚集在一起,找到一個沒有陷入困境的人是一種痛苦。可以將命令從服務器輸出到本地機器嗎?
我想什麼是SSH連接到機器上,運行命令:
w | wc -l
獲得該服務器上的負載的粗略估計,並利用這些信息來選擇影響最小的。一種客戶端負載均衡器。
有沒有辦法做到這一點或達到相同的結果?
我把這個你.bashrc
文件
function choose_host(){
hosts="host1 ... hostn"
for host in $hosts
do
echo $(ssh $host 'w|wc -l') $host
done | sort | head -1 | awk '{print $2}'
}
function ssh_host(){
ssh $(choose_host)
}
choose_host
應該給你,你要找的人。這是絕對矯枉過正,但我感覺很好玩:D sort
將根據w|wc -l
的結果命令輸出,然後head -1
得到第一行,awk
將只打印主機名! 您可以撥打ssh_host
並自動登錄。
您可以使用桌面上的pdsh命令,在您指定的一組機器上運行指定的命令並返回結果。這樣你可以找出最少的一個。這將避免您對每臺機器執行ssh
並運行w | wc -l
。
難道你不是在問'ssh hostname w | wc -l'?或者'hostA hostB hostC hostD中的hostname;做ssh $ hostname w | wc -l; done'? – lanzz
呵呵,我想我以前從來沒有見過這樣用過。謝謝。 – AdamSpurgin
如果你有'ruptime',試試。實際負載可能比用戶數量更好; 'ssh主機正常運行時間',如果你沒有'ruptime'的話。有關數字的含義,請參閱手冊。 – tripleee