每5分钟统计Linux 网卡流量的脚本
-- 脚本内容
#!/bin/bash
eth="eth0"
sec=300
echo -ne "date start_time stop_time average-total(Kbytes) average-in(Kbytes) average-out(Kbytes) \n"
while true
do
local_date=`date "+%Y-%m-%d"`
start_time=`date "+%H:%M:%S"`
infirst=$(awk '/'$eth'/{print $1 }' /proc/net/dev |sed 's/'$eth'://')
outfirst=$(awk '/'$eth'/{print $9 }' /proc/net/dev)
sumfirst=$(($infirst+$outfirst))
sleep $sec"s"
stop_time=`date "+%H:%M:%S"`
inend=$(awk '/'$eth'/{print $1 }' /proc/net/dev |sed 's/'$eth'://')
outend=$(awk '/'$eth'/{print $9 }' /proc/net/dev)
sumend=$(($inend+$outend))
sum=$(($sumend-$sumfirst))
aver=$(($sum/$sec/1024))
averin=$((($inend-$infirst)/$sec/1024))
averout=$((($outend-$outfirst)/$sec/1024))
echo -ne "$local_date $start_time $stop_time $aver $averin $averout\n"
done
--执行方法
cd /opt/
nohup ./interface_traffic.sh &
--查看输出
tail -f nohup.out
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/13794466/viewspace-711811/,如需转载,请注明出处,否则将追究法律责任。
本文提供了一个用于每5分钟统计一次Linux系统中eth0网卡流量的Shell脚本。该脚本通过读取/proc/net/dev文件来获取网卡的收发数据,并计算出平均收发速率。
644

被折叠的 条评论
为什么被折叠?



