Jump to content

Recommended Posts

Posted

соглашусь с тем что по логике в свиче должен быть выход после каждого срабатывания , но так же есть сомнение что в данном случае i может иметь одновременно несколько значений (тогда это был бы как минимум массив) , да и дефолтного выхода так же не присутствует , по этому думается что если касаться именно этого вопроса то многократные иф тут лишнее (но я учту во время проверки)

  • Replies 380
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Posted Images

Posted
3 часа назад, dee сказал:

соглашусь с тем что по логике в свиче должен быть выход после каждого срабатывания , но так же есть сомнение что в данном случае i может иметь одновременно несколько значений (тогда это был бы как минимум массив) , да и дефолтного выхода так же не присутствует , по этому думается что если касаться именно этого вопроса то многократные иф тут лишнее (но я учту во время проверки)

Почитайте как работает switch - case! Обратите внимание на использование break! Дело не в множественности значений i,  а самом case. Еще раз - ЭТО НЕ СЕКЦИИ if, а ТОЧКИ (МЕТКИ) ПЕРЕХОДА (как по goto).

  • 10 months later...
Posted

собирал другую систему и опять столкнулся с той же проблемой , думал думал и решил делать по канону switch case (когда должен быть break после совпадения) , тоже вполне скушало.

 

ratelimit.png

Posted

@dee почти год прошел, что у Вас там за ошибки и проблемы, я не помню. Но в том коде что Вы выложили, в вашем case нет default. Может ли i быть не 0,1,2, а что-то другое - это Вам виднее (надо весь код смотреть). Но вот что будет если оно не попадет в эти числа - я Вам скажу: ничего не будет (т.е. никакие переменные не изменятся).

Posted

ну без этого блока скорости не ставятся , значит он как минимум отвечает за установку параметров скоростей , с ним всё есть и работает штатно , значение дефаульт как бы нет и в оригинале , так что будет такой же ноль как и без него

  • 5 weeks later...
Posted (edited)

Может кому пригодится :-)

 

скрипт на TOP онлайн качальщиков (подредактируйте под себя).

 

создаем файл с любым названием (например traff-top.sh), делаем его исполняемым.

#!/bin/sh
clear
while true
do
a1=$(cat /proc/net/ipt_ratelimit/fin | awk '{print $16}' | awk ' {Total=Total+$1} END{print "Входящий общий: " Total}' | numfmt --field 3 --to=si)
b1=$(cat /proc/net/ipt_ratelimit/fout | awk '{print $16}' | awk ' {Total=Total+$1} END{print "Исходящий общий: " Total}' | numfmt --field 3 --to=si)

a=$(cat /proc/net/ipt_ratelimit/fin | awk '{print $1,$3,$16}' | sort -rnk3 | numfmt --field 2,3 --to=si)
b=$(cat /proc/net/ipt_ratelimit/fout | awk '{print $1,$3,$16}' | sort -rnk3 | numfmt --field 2,3 --to=si)


echo "$a1 <----><------>$b1"
echo
echo "IP адрес          Тариф   Входящий      IP адрес          Тариф   Исходящий"
echo
echo "$a \n$b" | column | head -n 55 #выводимое кол-во строк (в данном случае 55)

sleep 2
clear
done

 

traff.png

 

(для вывода полной статистики по всем абонентам в отдельные файлы я думаю и так поймете что нужно делать)

 

 

скрипт для просмотра онлайн потребления трафика по определенному абоненту:

 

создаем файл с любым названием (например traff-ip.sh), делаем его исполняемым.

 

#!/bin/sh
clear
echo "Введите IP адресс абонента:"
read ipaddr
while true
do
clear
ip=$ipaddr

a=$(cat /proc/net/ipt_ratelimit/fin | grep -w $ipaddr | awk '{print $1,$3,$16}' | sort -rnk3 | numfmt --field 2,3 --to=si)
b=$(cat /proc/net/ipt_ratelimit/fout | grep -w $ipaddr | awk '{print $1,$3,$16}' | sort -rnk3 | numfmt --field 2,3 --to=si)

echo "                   IP адрес       Тариф   Скорость"
echo
echo "Входящий трафик: $a"
echo
echo "Исходящий трафик: $b"
sleep 1
done

 

 

traff2.png

Edited by agent2011

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...