linux脚本监控网卡流量,linux下监控网卡流量的shell脚本

#!/bin/bash

usage() {

echo "Useage : $0"

echo "eg. sh $0 eth0 2"

exit 1

}

if [ $# -lt 2 ]

then

usage

fi

eth=$1

timer=$2

in_old=$(cat /proc/net/dev | grep $eth | sed -e

"s/\(.*\)\:\(.*\)/\2/g" | awk '{print $1 }')

out_old=$(cat /proc/net/dev | grep $eth | sed -e

"s/\(.*\)\:\(.*\)/\2/g" | awk '{print $9 }')

while true

do

sleep ${timer}

in=$(cat /proc/net/dev | grep

$eth | sed -e "s/\(.*\)\:\(.*\)/\2/g" | awk '{print $1 }')

out=$(cat /proc/net/dev |

grep $eth | sed -e "s/\(.*\)\:\(.*\)/\2/g" | awk '{print $9 }')

dif_in=$(((in-in_old)/timer))

dif_in=$((dif_in/1024))

dif_out=$(((out-out_old)/timer))

dif_out=$((dif_out/1024))

ct=$(date +"%F %H:%M:%S")

echo "${ct} -- IN: ${dif_in}

KByte/s  OUT: ${dif_out}

KByte/s"

in_old=${in}

out_old=${out}

done

exit 0

___________________________________________________________________________________

使用方法:

sh erikxue_net.sh bond0 2 #表示每两秒钟监控bond0这个网卡的流量。

代码说明:

1,此代码接收两个参数,参数1为要监测的网卡接口,比如eth0;参数2为监测的间隔时间,比如可以设为2秒监测一次。

2,此脚本使用了sed、awk命令,不了解的朋友,建议好好掌握下,这二个命令在linux中那是相当值得深究的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值