#!/bin/sh # usage: netvolmon DEV [INTERVAL] case "$#" in 1|2) :;; *) echo "usage: netvolmon DEV [INTERVAL]" 1>&2; exit 1;; esac DEV=$1 IVAL=5 if [ "$#" -eq 2 ]; then IVAL=$2 fi getrxtx() { grep "$1:" /proc/net/dev | sed 's/^.*://' | awk '{print $1, $2, $9, $10}' #ifconfig $1 | fgrep 'RX bytes' | # sed -e 's/RX bytes://' -e 's/TX bytes://' | # awk '{print $1, $4}' } rxtx=$(getrxtx $DEV) while sleep $IVAL; do nrxtx=$(getrxtx $DEV) # IVAL orxb orxp otxb otxp nrxb nrxp ntxb ntxp (echo $IVAL $rxtx $nrxtx) | awk '{rxd = ($6 - $2) / (1024*1024*$1); txd = ($8 - $4) / (1024*1024*$1); rxp = ($7 - $3) / $1 txp = ($9 - $5) / $1 printf "%6.2f MB/s RX %6.2f MB/s TX packets/sec: %5d RX %5d TX\n", rxd, txd, rxp, txp}' rxtx="$nrxtx" done