通过shell 脚本查看服务器的时时流量

#!/bin/bash

ETH=$1

ETH=${ETH:-eth0}

IP=`ifconfig $ETH|awk -F '[ :]+' '/inet addr/{print $4}'`

while true;do

let I+=1

NOW=`date +"%F %T"`

TX1=`ifconfig $ETH|grep bytes|awk -F '[ :]+' '{print $9}'`

RX1=`ifconfig $ETH|grep bytes|awk -F '[ :]+' '{print $4}'`

sleep 1

TX2=`ifconfig $ETH|grep bytes|awk -F '[ :]+' '{print $9}'`

RX2=`ifconfig $ETH|grep bytes|awk -F '[ :]+' '{print $4}'`

let TX=(TX2-TX1)/1024

let RX=(RX2-RX1)/1024

let TX_TOTAL+=$TX

let RX_TOTAL+=$RX

let TX_AVERAGE=TX_TOTAL/${I}

let RX_AVERAGE=RX_TOTAL/${I}

clear

printf "%10s %20s" "Device $ETH [$IP]" "$NOW"

echo"============================================================="

printf "%10s %20s %20s" CURRENT: in:${RX}KB/sout:${TX}KB/s

printf "%10s %20s %20s" AVERAGE: in:${RX_AVERAGE}KB/sout:${TX_AVERAGE}KB/s

printf "%10s %20s %20s" TOTAL: in:${RX_TOTAL}KB out:${TX_TOTAL}KB

done

使用方法:

./network.sh eht0

Device eth0 [192.168.1.54] 2012-11-06 17:11:09

=============================================================

CURRENT: in:28KB/s out:38KB/s

AVERAGE: in:48KB/s out:72KB/s

TOTAL: in:679KB out:1020KB

相关推荐