开发者社区> 问答> 正文

分享一个监控网卡当前带宽的shell脚本

#!/bin/bash
if [ -z "$1" ]; then
        echo
        echo usage: $0 network-interface
        echo
        echo e.g. $0 eth0
        echo
        exit
fi
IF=$1
while true
do
        R1=`cat /sys/class/net/$1/statistics/rx_bytes`
        T1=`cat /sys/class/net/$1/statistics/tx_bytes`
        sleep 1
        R2=`cat /sys/class/net/$1/statistics/rx_bytes`
        T2=`cat /sys/class/net/$1/statistics/tx_bytes`
        TBPS=`expr $T2 - $T1`
        RBPS=`expr $R2 - $R1`
        TKBPS=`expr $TBPS / 1024`
        RKBPS=`expr $RBPS / 1024`
        echo "tx $1: $TKBPS kb/s rx $1: $RKBPS kb/s"
done


在/sbin目录下,vi netspeed,保存为netspeed,然后赋予其可执行权限chmod +x netspeed,运行netspeed eth0(不一定是eth0,是具体情况而定)
就可以直接运行:
[root@localhost~]# netspeed eth0
tx eth0: 0 kb/s rx eth0: 59 kb/s
tx eth0: 0 kb/s rx eth0: 1685 kb/s
tx eth0: 0 kb/s rx eth0: 228 kb/s
tx eth0: 0 kb/s rx eth0: 62 kb/s
tx eth0: 0 kb/s rx eth0: 65 kb/s
tx eth0: 0 kb/s rx eth0: 62 kb/s
tx eth0: 0 kb/s rx eth0: 56 kb/s
tx eth0: 0 kb/s rx eth0: 63 kb/s
tx eth0: 0 kb/s rx eth0: 56 kb/s
tx eth0: 0 kb/s rx eth0: 58 kb/s
tx eth0: 0 kb/s rx eth0: 55 kb/s
tx eth0: 0 kb/s rx eth0: 59 kb/s

展开
收起
chuanshuolian 2012-02-28 13:50:36 9643 0
2 条回答
写回答
取消 提交回答
  • 用心服务
    我支付你
    2012-02-29 00:09:20
    赞同 展开评论 打赏
  • 没有人顶呀
    自己顶~~~~

    -------------------------

    还是没有人支持我的呀
    ~~~

    2012-02-28 14:06:50
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Shell 脚本速查手册 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载