背景:

记录下之前的写过的shell脚本,需要整理出各个主机的各个网卡速率,网卡名称为bond0到bond3,使用ethtool bond1命令可以查看相应网卡的速率。因为有几十台主机,所以考虑使用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脚本格式还不太熟,脚本格式跟直接执行命令出来的结果还是有不少区别的,还是需要多学习shell脚本方面的知识。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!

RTX 5090要首发 性能要翻倍!三星展示GDDR7显存

三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。

首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。

据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。