事例文本如下
16:01:07 RX and TX eth0 2.62305KB/s 0B/s
16:01:12 RX and TX eth0 1.81152KB/s 0B/s
16:01:17 RX and TX eth0 3.33984KB/s 792B/s
16:01:22 RX and TX eth0 3.94238KB/s 1.65625KB/s
16:01:27 RX and TX eth0 3.29688KB/s 1.25977KB/s
16:01:32 RX and TX eth0 3.28711KB/s 848B/s
16:01:37 RX and TX eth0 3.75391KB/s 228B/s
16:07:36 RX and TX eth0 149.52KB/s 3.74805KB/s
统计出最大的RX和最大的TX,让后相加,流量统计的单位可能不一样,我这里只统计到B、KB、MB和GB,如果流量很到到TB(情况比较少吧...),可以再增加一条即可。脚本如下:
#!/usr/bin/awk -f
{
$6=s($6)
RX = RX > $6 ? RX : $6
$7=s($7)
TX = TX >$7 ? TX : $7
}
function s(tmp)
{
if(tmp ~ /KB/){
sub("KB/s","",tmp)
tmp=tmp*1000 }
else if(tmp ~ /MB/){
sub("MB/s","",tmp)
tmp=tmp*1000*1000}
else if(tmp ~ /GB/){
sub("GB/s","",tmp)
tmp=tmp*1000*1000*1000}
else
sub("B/s","",tmp)
return tmp
}
END{
print RX + TX"B/s"
}
阅读(1857) | 评论(0) | 转发(0) |