• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    shell脚本输出多个主机的网卡速率的方法

    背景:

    记录下之前的写过的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网段的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脚本对文件中的行、单词、字符进行迭代输出示例
    上一篇:Linux用脚本实现“时分秒“倒计时功能
    下一篇:ps命令输出进程状态S+的含义解析
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

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