shell腳本輸出多個主機的網(wǎ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ū)別的,還是需要多學(xué)習(xí)shell腳本方面的知識。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
CentOS7運行.sh腳本提示syntax error: unexpected end of file的解決方法
這篇文章主要介紹了解決執(zhí)行腳本報syntax error: unexpected end of file或syntax error near unexpected token fi錯誤的問題,需要的朋友可以參考下2020-02-02Linux?Shell任務(wù)控制的實現(xiàn)示例
本文主要介紹了Linux?Shell任務(wù)控制的實現(xiàn)示例,包括向腳本發(fā)送信號、修改腳本的優(yōu)先級以及在腳本運行時從暫停切換到運行模式,感興趣的可以了解一下2024-01-01shell監(jiān)控腳本實例—監(jiān)控mysql主從復(fù)制
分享一例shell腳本,用于監(jiān)測mysql數(shù)據(jù)庫的主從復(fù)制,有需要的朋友不妨參考學(xué)習(xí)下2013-11-11Linux下date命令,格式化輸出,時間設(shè)置方法
下面小編就為大家?guī)硪黄狶inux下date命令,格式化輸出,時間設(shè)置方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-03-03使用shell腳本分析網(wǎng)站日志統(tǒng)計PV、404、500等數(shù)據(jù)
這篇文章主要介紹了使用shell腳本分析網(wǎng)站日志統(tǒng)計PV(瀏覽量)、404、500等數(shù)據(jù),用一個腳本來實現(xiàn),需要的朋友可以參考下2014-05-05