主页 > 知识库 > shell脚本输出多个主机的网卡速率的方法

shell脚本输出多个主机的网卡速率的方法

热门标签:辉县市地图标注 同花顺电话机器人微信 湖北孝感如何办理 北京电销机器人对市场的影响 地图标注x是啥意思 外呼系统的合法性 房产证地图标注的两个面积 威海电销外呼系统好用吗 武汉语音电销机器人加盟

背景:

记录下之前的写过的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脚本方面的知识。

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

您可能感兴趣的文章:
  • linux下使用shell脚本输出带颜色字体
  • Linux shell脚本输出日志笔记整理(必看篇)
  • shell脚本实现分日志级别输出的方法
  • shell将脚本输出结果记录到日志文件的实现
  • 输出执行操作和打印日志的shell脚本实例
  • python 捕获 shell/bash 脚本的输出结果实例
  • python 捕获shell脚本的输出结果实例
  • shell脚本echo输出不换行功能增强实例
  • 控制输出颜色的shell脚本
  • Shell脚本对文件中的行、单词、字符进行迭代输出示例

标签:蚌埠 武威 安康 日喀则 西宁 迪庆 绍兴 丽江

巨人网络通讯声明:本文标题《shell脚本输出多个主机的网卡速率的方法》,本文关键词  shell,脚本,输出,多个,主机,;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 下面列出与本文章《shell脚本输出多个主机的网卡速率的方法》相关的同类信息!
  • 本页收集关于shell脚本输出多个主机的网卡速率的方法的相关信息资讯供网民参考!
  • 推荐文章