57 lines
1.8 KiB
Bash
Executable File
57 lines
1.8 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
|
|
|
|
while true; do
|
|
clear
|
|
tx_traffic=$(cat /sys/class/net/${interface}/statistics/tx_bytes)
|
|
rx_traffic=$(cat /sys/class/net/${interface}/statistics/rx_bytes)
|
|
|
|
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$RESET = $(($tx_traffic/1024)) Kb\n"
|
|
printf "$traffic_color rx traffic$RESET = $(($rx_traffic/1024)) Kb\n"
|
|
fi
|
|
|
|
if [[ $bytes == 'm' ]] || [[ $bytes == 'M' ]]; then
|
|
printf "$BLUE tx traffic$RESET = $(($tx_traffic/1024/1024)) Mb\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
|
|
|