#!/bin/sh # CUMULATIVE=10 RXTX="RX" cnt=0 rxbytescml=0 txbytescml=0 rxold=0 txold=0 rxbytes=0 txbytes=0 rxpeak=0 txpeak=0 INTERFACE=$1 while [ 1 ]; do rxold=$rxbytes txold=$txbytes rxbytes=`ifconfig $INTERFACE |grep "$RXTX bytes" | tr -d " " |cut -f2 -d: | cut -f1 -d'('` txbytes=`ifconfig $INTERFACE |grep "$RXTX bytes" | tr -d " " |cut -f3 -d: | cut -f1 -d'('` if [ $rxold -eq 0 ]; then rxold=$rxbytes fi if [ $txold -eq 0 ]; then txold=$txbytes fi rxbytescml=$[rxbytescml+rxbytes-rxold] txbytescml=$[txbytescml+txbytes-txold] if [ $[rxbytes-rxold] -gt $rxpeak ]; then rxpeak=$[rxbytes-rxold] fi if [ $[txbytes-txold] -gt $txpeak ]; then txpeak=$[txbytes-txold] fi printf "\r \r" printf "%s: RX:%s kbps, TX:%s kbps" \ $INTERFACE \ $[(rxbytes-rxold)*8/1024] \ $[(txbytes-txold)*8/1024] sleep 1 cnt=$[cnt+1] if [ $cnt -eq $CUMULATIVE ]; then time=`date +"%d.%m.-%H:%M:%S"` printf "\r%s: %s - %s secs avg: RX:%s kbps, TX:%s kbps, RX peak:%s kbps, TX peak:%s kbps\n" \ $INTERFACE \ $time \ $CUMULATIVE \ $[(rxbytescml/CUMULATIVE)*8/1024] \ $[(txbytescml/CUMULATIVE)*8/1024] \ $[rxpeak*8/1024] \ $[txpeak*8/1024] rxbytescml=0 txbytescml=0 cnt=0 rxpeak=0 txpeak=0 fi done