Virtualizor - скрипт проверки потребления трафика в реальном времени - bash - 2026
Материал из Wiki - Iphoster - the best ever hosting and support. 2005 - 2026
Virtualizor - скрипт проверки потребления трафика в реальном времени - bash - 2026
viifv* - заменить на свои интерфейсы.
#!/bin/bash
INTERVAL=2
declare -A RX TX
for i in /sys/class/net/viifv*; do
iface=$(basename "$i")
RX[$iface]=$(cat "$i/statistics/rx_bytes")
TX[$iface]=$(cat "$i/statistics/tx_bytes")
done
while true; do
sleep "$INTERVAL"
clear
echo "Updated: $(date)"
printf "%-12s %10s %10s %10s\n" "Interface" "RX(Mbps)" "TX(Mbps)" "Total"
{
for i in /sys/class/net/viifv*; do
iface=$(basename "$i")
rx=$(cat "$i/statistics/rx_bytes")
tx=$(cat "$i/statistics/tx_bytes")
drx=$((rx-${RX[$iface]}))
dtx=$((tx-${TX[$iface]}))
RX[$iface]=$rx
TX[$iface]=$tx
rxmb=$((drx*8/INTERVAL/1000000))
txmb=$((dtx*8/INTERVAL/1000000))
total=$((rxmb+txmb))
printf "%8d %-12s %10d %10d %10d\n" \
"$total" "$iface" "$rxmb" "$txmb" "$total"
done
} | sort -nr
done
