70 lines
2.4 KiB
Bash
Executable File
70 lines
2.4 KiB
Bash
Executable File
#!/usr/bin/env sh
|
|
|
|
# ---- colors ----
|
|
RESET='\033[0m'
|
|
GREEN='\033[0;32m'
|
|
YELLOW='\033[0;33m'
|
|
RED='\033[0;31m'
|
|
BLUE='\033[0;34m'
|
|
# ----------------
|
|
|
|
interface=$1
|
|
bytes=$2
|
|
|
|
prev_tx_traffic=0
|
|
prev_rx_traffic=0
|
|
|
|
while true; do
|
|
clear
|
|
tx_traffic=$(cat /sys/class/net/${interface}/statistics/tx_bytes)
|
|
rx_traffic=$(cat /sys/class/net/${interface}/statistics/rx_bytes)
|
|
tx_traffic_speed=$(($tx_traffic-$prev_tx_traffic))
|
|
rx_traffic_speed=$(($rx_traffic-$prev_rx_traffic))
|
|
# echo $tx_traffic_speed
|
|
# echo $rx_traffic_speed
|
|
prev_tx_traffic=$tx_traffic
|
|
prev_rx_traffic=$rx_traffic
|
|
|
|
traffic_color=$GREEN
|
|
if [[ $(echo $(($rx_traffic/1024/1024/1024))) > 5 ]]; then
|
|
traffic_color=$YELLOW
|
|
elif [[ $(echo $(($rx_traffic/1024/1024/1024))) > 10 ]]; then
|
|
traffic_color=$RED
|
|
fi
|
|
|
|
if [[ $bytes == 'k' ]] || [[ $bytes == 'K' ]]; then
|
|
printf "$BLUE tx traffic speed$RESET = $(($tx_traffic_speed/1024)) Kb/s\n"
|
|
printf "$BLUE tx traffic$RESET = $(($tx_traffic/1024)) Kb\n"
|
|
printf "$BLUE rx traffic speed$RESET = $(($rx_traffic_speed/1024)) Kb/s\n"
|
|
printf "$traffic_color rx traffic$RESET = $(($rx_traffic/1024)) Kb\n"
|
|
fi
|
|
|
|
if [[ $bytes == 'm' ]] || [[ $bytes == 'M' ]]; then
|
|
printf "$BLUE tx traffic speed$RESET = $(($tx_traffic_speed/1024/1024)) Mb/s\n"
|
|
printf "$BLUE tx traffic$RESET = $(($tx_traffic/1024/1024)) Mb\n"
|
|
printf "$BLUE rx traffic speed$RESET = $(($rx_traffic_speed/1024/1024)) Mb/s\n"
|
|
printf "$traffic_color rx traffic$RESET = $(($rx_traffic/1024/1024)) Mb\n"
|
|
fi
|
|
|
|
if [[ $bytes == 'g' ]] || [[ $bytes == 'G' ]]; then
|
|
if [[ $(echo $(($tx_traffic/1024/1024/1024))) == 0 ]]; then
|
|
printf "$BLUE tx traffic$RESET = $(($tx_traffic/1024/1024)) Mb\n"
|
|
else
|
|
printf "$BLUE tx traffic$RESET = $(($tx_traffic/1024/1024/1024)) Gb\n"
|
|
fi
|
|
if [[ $(echo $(($rx_traffic/1024/1024/1024))) == 0 ]]; then
|
|
printf "$traffic_color rx traffic$RESET = $(($rx_traffic/1024/1024)) Mb\n"
|
|
else
|
|
printf "$traffic_color rx traffic$RESET = $(($rx_traffic/1024/1024/1024)) Gb\n"
|
|
fi
|
|
fi
|
|
|
|
if [[ $bytes == 'b' ]] || [[ $bytes == '' ]]; then
|
|
printf "$BLUE tx traffic$RESET = $(($tx_traffic)) b\n"
|
|
printf "$traffic_color rx traffic$RESET = $(($rx_traffic)) b\n"
|
|
fi
|
|
|
|
sleep 1
|
|
done
|
|
|