溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

shell腳本輸出多個主機的網(wǎng)卡速率

發(fā)布時間:2020-07-22 16:19:27 來源:網(wǎng)絡(luò) 閱讀:332 作者:Eddy72 欄目:系統(tǒng)運維
背景:

記錄下之前的寫過的shell腳本,需要整理出各個主機的各個網(wǎng)卡速率,網(wǎng)卡名稱為bond0到bond3,使用ethtool bond1命令可以查看相應(yīng)網(wǎng)卡的速率。因為有幾十臺主機,所以考慮使用shell腳本去查詢。

具體思路:

查詢單臺主機單網(wǎng)卡速率命令:

ethtool bond1 | grep Speed
Speed: 20000Mb/s

查詢單臺主機所有bond網(wǎng)卡速率命令,輸出網(wǎng)卡名稱和對應(yīng)的網(wǎng)卡速率:

for i in {0..3};do echo bond$i `/usr/sbin/ethtool bond$i 2 > /dev/null | grep Speed`;done
bond0
bond1 Speed: 20000Mb/s
bond2 Speed: 20000Mb/s
bond3 Speed: 2000Mb/s

查詢遠程主機所有bond網(wǎng)卡速率命令,可以使用ssh -tt遠程執(zhí)行命令:

ssh -tt user@192.168.1.1 "command "

需要查詢的IP都在/etc/hosts文件,
文件格式:
192.168.1.1 compute-1
192.168.1.2 compute-2
篩選出192網(wǎng)段的IP

cat /etc/hosts | grep 192  |  cut -d' ' -f1

使用expect自動輸入密碼

完整腳本:
#!/bin/bash
cat /etc/hosts | grep 192 | while read line
do
echo $line
ip=`echo $line | cut -d' ' -f1`
/usr/bin/expect <<-EOF
spawn ssh -tt user@$ip "for i in {0..3};do echo bond\$\i \`/usr/sbin/ethtool bond\$\i 2>/dev/null | grep Speed\`;done "
expect {
        "(yes/no)?" { send "yes\n";exp_continue }
        "*assword:" { send "password\n";}
}
expect eof
EOF
done
總結(jié)

對shell腳本格式還不太熟,腳本格式跟直接執(zhí)行命令出來的結(jié)果還是有不少區(qū)別的,還是需要多學習shell腳本方面的知識。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI