#!/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