linux监控某ip流出流量,shell脚本监控linux网卡流量(上传/下载/流入/流出)

shell脚本监控linux网卡流量(上传/下载/流入/流出)

从网上找的一个脚本, diy了一下, 觉得很OK, ~_~

#!/bin/sh

#filename: monitor_eth_flow.v2.sh

#功能: 监控网卡进出流量

#用法:

# sh monitor_eth_flow.v2.sh

# sh monitor_eth_flow.v2.sh eth0

# sh monitor_eth_flow.v2.sh eth0 1

#

function calcFlow()

{

before=$1

after=$2

seconds=$3

title=$4

if [ -z "$before" ]; then

before=0

fi

if [ -z "$after" ]; then

after=0

fi

if [ $after -ge $before ]

then

diffentvalue=$((($after-$before)/$seconds));

else

diffentvalue=$((($after+4*1024*1024*1024-$before)/$seconds));

fi

diffentvalue=${diffentvalue#-}

if [ $diffentvalue -ge 1073741824 ]; then

resultend=$(($diffentvalue/1073741824));

unit=GB/s;

elif [ $diffentvalue -ge 1048576 ]; then

resultend=$(($diffentvalue/1048576));

unit=MB/s;

elif [ $diffentvalue -ge 1024 ]; then

resultend=$(($diffentvalue/1024));

unit=KB/s;

else

resultend=$diffentvalue ;

unit=B/s;

fi

echo "$title $resultend$unit"

}

#监控网卡名, eth0/eth1/lo

if [ "-$1" = "-" ] ;then

eth="eth0" #默认eth0

else

eth=$1

fi

#监控时长

if [ "-$2" = "-" ] ;then

sleep_seconds=5 #默认5秒

else

sleep_seconds=$2

fi

echo "网卡 $eth 流量计算中, 请等待$sleep_seconds秒钟......(Ctrl+C停止)"; echo "";

while((1==1)); do

resultIn=$(ifconfig $eth | grep -e 'RX bytes'|awk '{print $2}'|awk -F':' '{print $2}');

resultOut=$(ifconfig $eth | grep -e 'RX bytes'|awk '{print $6}'|awk -F':' '{print $2}');

sleep $sleep_seconds;

resultIn2=$(ifconfig $eth | grep -e 'RX bytes'|awk '{print $2}'|awk -F':' '{print $2}');

resultOut2=$(ifconfig $eth | grep -e 'RX bytes'|awk '{print $6}'|awk -F':' '{print $2}');

echo $(date +'%Y-%m-%d %H:%M:%S')

calcFlow $resultIn $resultIn2 $sleep_seconds "下载流量(进): ";

calcFlow $resultOut $resultOut2 $sleep_seconds "上传流量(出):"; echo "";

done

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值