#!/bin/bash
ethn=$1
while true
do
RX_pre=$(cat /proc/net/dev | grep $ethn | sed 's/:/ /g' | awk '{print $2}')
TX_pre=$(cat /proc/net/dev | grep $ethn | sed 's/:/ /g' | awk '{print $9}')
sleep 1
RX_next=$(cat /proc/net/dev | grep $ethn | sed 's/:/ /g' | awk '{print $2}')
TX_next=$(cat /proc/net/dev | grep $ethn | sed 's/:/ /g' | awk '{print $9}')
clear
echo -e "`date +%k:%M:%S` RX TX"
#echo "${RX_next} ${RX_pre} \t ${TX_next} ${TX_pre}"
RX=$((${RX_next}-${RX_pre}))
TX=$((${TX_next}-${TX_pre}))
if [[ $RX -ne 0 ]]; then
if [[ $RX -lt 1024 ]];then
#RX="${RX}B/s"
RX=$(echo $RX | awk '{print $1*8 "bps"}')
elif [[ $RX -gt 1048576 ]];then
#RX=$(echo $RX | awk '{print $1/1048576 "MB/s"}')
RX=$(echo $RX | awk '{print $1/131072 "Mbps"}')
else
#RX=$(echo $RX | awk '{print $1/1024 "KB/s"}')
RX=$(echo $RX | awk '{print $1/128 "Kbps"}')
fi
fi
if [[ $TX -ne 0 ]]; then
if [[ $TX -lt 1024 ]];then
#TX="${TX}B/s"
TX=$(echo $TX | awk '{print $1*8 "bps"}')
elif [[ $TX -gt 1048576 ]];then
#TX=$(echo $TX | awk '{print $1/1048576 "MB/s"}')
TX=$(echo $TX | awk '{print $1/131072 "Mbps"}')
else
#TX=$(echo $TX | awk '{print $1/1024 "KB/s"}')
TX=$(echo $TX | awk '{print $1/128 "Kbps"}')
fi
fi
echo -e "$ethn \t $RX $TX "
echo "`date +%Y-%m-%d,%k:%M:%S` $ethn RX:$RX TX:$TX ">> /opt/net.log
done