测试网卡流量的shell脚本

下面是一个测试网卡流量的脚本,脚本内容如下:

#!/bin/bash
function usage
{
        echo "use ./test_net.sh ethX time"
        echo "$1 is you network interface "
        echo "$2 is the last time!"
        echo "for example: ./test_net.sh eth0 2"
        exit 100
}

if [ $# -lt 2 -o $# -gt 2 ];then
        usage
fi

eth=$1
time=$2

old_inbw=`cat /proc/net/dev | grep $eth | awk -F'[: ]+' '{print $3}'`
old_outbw=`cat /proc/net/dev | grep $eth | awk -F'[: ]+' '{print $11}'`

while true
do
        sleep $time
        new_inbw=`cat /proc/net/dev | grep $eth | awk -F'[: ]+' '{print $3}'`
        new_outbw=`cat /proc/net/dev | grep $eth | awk -F'[: ]+' '{print $11}'`
        inbw=`expr $((($new_inbw-$old_inbw)/$time))`
        outbw=`expr $((($new_outbw-$old_outbw)/$time))`
        echo "$eth: IN:$inbw bytes  OUT:$outbw bytes"
        old_inbw=${new_inbw}
        old_outbw=${new_outbw}
done
exit 0


运行效果:
[root@bogon shell]# ./test_net.sh  eth0 2
eth0: IN:3097 bytes  OUT:50374 bytes
eth0: IN:3158 bytes  OUT:44202 bytes
eth0: IN:2587 bytes  OUT:58932 bytes
eth0: IN:2104 bytes  OUT:51543 bytes

posted @ 2010-06-03 17:06  飞鸿无痕  阅读(222)  评论(0编辑  收藏  举报