使用shell脚本怎么输出主机的网卡速率?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
目前创新互联已为数千家的企业提供了网站建设、域名、网络空间、网站托管、服务器托管、企业网站设计、华亭网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。具体思路:
查询单台主机单网卡速率命令:
ethtool bond1 | grep Speed Speed: 20000Mb/s
查询单台主机所有bond网卡速率命令,输出网卡名称和对应的网卡速率:
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网卡速率命令,可以使用ssh -tt远程执行命令:
ssh -tt user@192.168.1.1 "command "
需要查询的IP都在/etc/hosts文件,
文件格式:
192.168.1.1 compute-1
192.168.1.2 compute-2
筛选出192网段的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
看完上述内容,你们掌握使用shell脚本怎么输出主机的网卡速率的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注创新互联行业资讯频道,感谢各位的阅读!