#!/bin/bash
#此脚本是统计一定时间网卡的流量,平均值为秒为单位。
#要监控网卡地址
eth=eth0
#监控的秒数
sec=120
infirst=$(awk '/'$eth'/{print $1 }' /proc/net/dev |sed 's/'$eth'://')
outfirst=$(awk '/'$eth'/{print $10 }' /proc/net/dev)
sumfirst=$(($infirst+$outfirst))
sleep $sec"s"
inend=$(awk '/'$eth'/{print $1 }' /proc/net/dev |sed 's/'$eth'://')
outend=$(awk '/'$eth'/{print $10 }' /proc/net/dev)
sumend=$(($inend+$outend))
sum=$(($sumend-$sumfirst))
echo $sec"秒内总流量为:"$sum"bytes"
aver=$(($sum/$sec))
echo "平均流量为:"$aver" bytes/sec"
fudian=`echo "scale=3;"${aver}"/1024" |bc`
printf "平均流量为:""%2.3f MB/sec" $fudian
echo
exit
本文介绍了一个使用bash编写的简单脚本,该脚本能够监控指定网卡(如eth0)在特定时间段内的流量,并计算出平均流量值。通过读取/proc/net/dev文件中的数据,脚本实现了对流入和流出流量的统计。
1049

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



