29-shell脚本案例-监控网卡流量-《shell脚本》

admin 2025-11-06 14:37:00 系统网络 来源:ZONE.CI 全球网 0 阅读模式
  • job-网卡流量监控
    • 案例需求
    • 脚本应用场景:
    • 解决问题
    • 脚本思路
    • 实现代码

    job-网卡流量监控

    案例需求

    网卡发送和就收数据量监控,按秒统计。思考: 如何获取某块网卡上一秒的流入、流出数据流量ifconfig中可以获得,你知道吗?29-shell脚本案例-监控网卡流量 - 图1

    脚本应用场景:

    动态监控网卡的流量

    解决问题

    实时掌握网卡的流量,掌握带宽使用情况

    脚本思路

    1、获得网卡当前流入流出总量2、休息一秒3、获得网卡当前流入流出总量4、运算得出上一秒网卡流量5、输出结果

    实现代码

    1. #!/bin/bash
    2. #
    3. #Author: www.zutuanxue.com
    4. #Created Time:
    5. #Release:
    6. #Description: 网卡流量监控
    7. #脚本用法
    8. #判断用户是否传参
    9. if [ -z "$1"] || [ "$1" == "--help" ];then
    10. cat << EOF
    11. $0 网卡名称
    12. --help 打印帮助菜单
    13. EOF
    14. fi
    15. #如果用户没有传参,则退出脚本
    16. [ $# -lt 1 ]&&exit 1
    17. #第一次取值
    18. #1、获得当前网卡流量 初始化值
    19. NIC_RX=`ifconfig $1|grep "RX packets"|tr -s " "|cut -d " " -f6`
    20. NIC_TX=`ifconfig $1|grep "TX packets"|tr -s " "|cut -d " " -f6`
    21. #休息一秒开始循环
    22. sleep 1
    23. #循环开始监控网卡流量 监控频率 1s
    24. while :
    25. do
    26. #2、监控当前网络的流量,第二次取值
    27. NIC_RX_1=`ifconfig $1|grep "RX packets"|tr -s " "|cut -d " " -f6`
    28. NIC_TX_1=`ifconfig $1|grep "TX packets"|tr -s " "|cut -d " " -f6`
    29. #3、制作输出
    30. #3.1、清屏输出下文
    31. clear
    32. echo -e "\t$1 网卡流量监控"
    33. echo "----------------------------------------"
    34. echo -e "网卡: $1\n"
    35. #3.2、运算得出结论
    36. echo -e "发送:\t$((NIC_TX_1-NIC_TX))B/s\t接收:\t$((NIC_RX_1-NIC_RX))B/s"
    37. #重新赋值网卡初始化流入流出变量
    38. NIC_RX=$NIC_RX_1
    39. NIC_TX=$NIC_TX_1
    40. #休眠1秒,进入下一次循环
    41. sleep 1
    42. done
    01-shell脚本介绍-《shell脚本》 系统网络

    01-shell脚本介绍-《shell脚本》

    一、shell脚本是什么二、为什么要学shell,而不是其他计算机语言三、学习这门课程的优势四、学了能干什么五、学习什么内容六、学习的技巧七、成长路径八、学习环
    评论:0   参与:  17