Страница 1 из 2
Помогите разобраться со скриптом?
Добавлено: 03 июн 2019, 14:05
Ronin
Здравствуйте!!! Имеется рабочий скрипт для ограничения скорости после достижения определенного объема трафика.
Код: Выделить всё
:local alltraf;
:local totaltraf;
:local namerule;
:local upload;
:local download;
:local allrules ([/queue simple print count-only] -1);
:for y from=0 to=$allrules do={:set alltraf [/que s get number=$y byte]; :set namerule [/que s get number=$y name]; :set upload [:pick $alltraf 0 ([:find $alltraf "/"]-1)]; :set download [:pick $alltraf ([:find $alltraf "/"]+1) [:len $alltraf]]; :set totaltraf (($upload + $download) / 1048576); :put $totaltraf; :if ($totaltraf >= 300 ) do={ /queue simple set [find name="$namerule"] max-limit="256k/128k"}}
Вопрос такого плана. Скрипт действует на всех участников Simple Queues, как изменить скрипт что бы он ограничивал не всех, а определенный IP адрес??? За ранее благодарю!!!
Re: Помогите разобраться со скриптом?
Добавлено: 04 июн 2019, 03:07
Chupaka
Приветствую.
Т.е. вы хотите, чтобы скрипт проверял не все очереди, а только те, у которых в target задан определённый IP-адрес?
Re: Помогите разобраться со скриптом?
Добавлено: 04 июн 2019, 04:11
Ronin
Chupaka писал(а): ↑04 июн 2019, 03:07
Приветствую.
Т.е. вы хотите, чтобы скрипт проверял не все очереди, а только те, у которых в target задан определённый IP-адрес?
Приветствую!!!
Да правильно вы поняли, идея такая что бы разным пользователям дать разные объемы трафика, а не один для всех. Будет несколько скриптов с разными IP адресами и разными объемами трафика.
За ранее благодарю!!!
Re: Помогите разобраться со скриптом?
Добавлено: 04 июн 2019, 12:25
Chupaka
Немного причесал ваш код:
Код: Выделить всё
:local alltraf;
:local totaltraf;
:local upload;
:local download;
/queue simple
:foreach rule in=[find target="IP.AD.DRE.SS/32"] do={
:set alltraf [get $rule bytes];
:set upload [:pick $alltraf 0 ([:find $alltraf "/"] - 1)];
:set download [:pick $alltraf ([:find $alltraf "/"] + 1) [:len $alltraf]];
:set totaltraf (($upload + $download) / 1048576);
:put $totaltraf;
:if ($totaltraf >= 300 ) do={
set $rule max-limit="256k/128k"
}
}
Re: Помогите разобраться со скриптом?
Добавлено: 04 июн 2019, 17:18
Ronin
Огромное спасибо друг!!!
Еще вопросик, я так понимаю вместо IP.AD.DRE.SS/32, я ставлю IP пользователя которому хочу выставить объем трафика???
Re: Помогите разобраться со скриптом?
Добавлено: 05 июн 2019, 05:27
Chupaka
Да, именно так
Re: Помогите разобраться со скриптом?
Добавлено: 06 июн 2019, 08:48
Ronin
Chupaka писал(а): ↑04 июн 2019, 12:25
Немного причесал ваш код:
Код: Выделить всё
:local alltraf;
:local totaltraf;
:local upload;
:local download;
/queue simple
:foreach rule in=[find target="IP.AD.DRE.SS/32"] do={
:set alltraf [get $rule bytes];
:set upload [:pick $alltraf 0 ([:find $alltraf "/"] - 1)];
:set download [:pick $alltraf ([:find $alltraf "/"] + 1) [:len $alltraf]];
:set totaltraf (($upload + $download) / 1048576);
:put $totaltraf;
:if ($totaltraf >= 300 ) do={
set $rule max-limit="256k/128k"
}
}
Приветствую!!!
Пробовал ваш скрип, не хочет работать (((. Может есть какие мысли??? Прошивка у меня 6.44.
За ранее благодарю!
Re: Помогите разобраться со скриптом?
Добавлено: 06 июн 2019, 09:33
Ronin
Когда делаю поиск по имени тогда работает.
Re: Помогите разобраться со скриптом?
Добавлено: 06 июн 2019, 11:53
Chupaka
Покажите, что конкретно не работает (без подмен всяких) и вывод /queue simple export
Re: Помогите разобраться со скриптом?
Добавлено: 06 июн 2019, 15:30
Ronin
Chupaka писал(а): ↑06 июн 2019, 11:53
Покажите, что конкретно не работает (без подмен всяких) и вывод /queue simple export
Извиняюсь. Все в порядке, мой косяк! Я после IP адреса не ставил
/32 поэтому и не срабатывал. Еще раз огромнейшее спасибо за помощь. Если что могу я к Вам обращаться?
Re: Помогите разобраться со скриптом?
Добавлено: 06 июн 2019, 15:44
Ronin
Да забыл еще вопросик такой, почему скрипт срабатывает именно только при входящем (download) объеме трафика, а по скрипту должно срабатывать когда исходящий (upload) + входящий (download)? Спрашиваю, потому что у меня спутниковый интернет и провайдер выделяет определенный дневной объем трафика в который входит и входящий и исходящий.
Re: Помогите разобраться со скриптом?
Добавлено: 06 июн 2019, 16:20
Chupaka
Вы так и не показали export
Если ручками открываете очередь - там трафик в обе стороны показывается?
Re: Помогите разобраться со скриптом?
Добавлено: 06 июн 2019, 17:51
Ronin
Chupaka писал(а): ↑06 июн 2019, 16:20
Вы так и не показали export
Если ручками открываете очередь - там трафик в обе стороны показывается?
Показываю export
Код: Выделить всё
# jun/06/2019 21:46:00 by RouterOS 6.44
# software id = XK0X-TSQ1
#
# model = RB941-2nD
# serial number = A1C30995CB8D
/queue simple
add max-limit=3M/12M name=ZTE priority=1/1 target=192.168.10.103/32 time=\
10h-4h,sun,mon,tue,wed,thu,fri,sat
add max-limit=3M/4M name=Lena target=192.168.10.106/32 time=\
10h-4h,sun,mon,tue,wed,thu,fri,sat
add max-limit=3M/4M name=Shamov target=192.168.10.108/32 time=\
10h-4h,sun,mon,tue,wed,thu,fri,sat
add max-limit=3M/4M name="Home server" target=192.168.10.109/32 time=\
10h-4h,sun,mon,tue,wed,thu,fri,sat
add max-limit=3M/4M name=Notbook target=192.168.10.110/32 time=\
10h-4h,sun,mon,tue,wed,thu,fri,sat
add max-limit=3M/4M name="Samsung Tab S" target=192.168.10.111/32 time=\
10h-4h,sun,mon,tue,wed,thu,fri,sat
add max-limit=3M/4M name=Batya target=192.168.10.112/32 time=\
10h-4h,sun,mon,tue,wed,thu,fri,sat
add max-limit=3M/4M name=Mama target=192.168.10.116/32 time=\
10h-4h,sun,mon,tue,wed,thu,fri,sat
add max-limit=3M/4M name=DNS-PC-26 target=192.168.10.115/32 time=\
10h-4h,sun,mon,tue,wed,thu,fri,sat
Немного не понял про ручки????
Re: Помогите разобраться со скриптом?
Добавлено: 06 июн 2019, 18:32
Chupaka
Ручками - в смысле, в WinBox тыкнуть очередь и посмотреть вкладку Traffic.
После ":put $totaltraf;" добавьте какой-нибудь
Код: Выделить всё
:log info "$totaltraf = $upload + $download";
- что будет в лог выводить?
Re: Помогите разобраться со скриптом?
Добавлено: 06 июн 2019, 19:03
Ronin
Chupaka писал(а): ↑06 июн 2019, 18:32
Ручками - в смысле, в WinBox тыкнуть очередь и посмотреть вкладку Traffic.
Re: Помогите разобраться со скриптом?
Добавлено: 06 июн 2019, 19:04
Ronin
Chupaka писал(а): ↑06 июн 2019, 18:32
После ":put $totaltraf;" добавьте какой-нибудь
Код: Выделить всё
:log info "$totaltraf = $upload + $download";
- что будет в лог выводить?
Судя по логу исходящий трафик не плюсуется к входящему.
Re: Помогите разобраться со скриптом?
Добавлено: 07 июн 2019, 12:06
Chupaka
Судя по логу, исходящий трафик плюсуется к входящему. Не понимаю, где вы увидели обратное.
Re: Помогите разобраться со скриптом?
Добавлено: 07 июн 2019, 13:17
Ronin
Chupaka писал(а): ↑07 июн 2019, 12:06
Судя по логу, исходящий трафик плюсуется к входящему. Не понимаю, где вы увидели обратное.
Приветствую!!!
Да точно сейчас сложил считает, но!!! Входящий считает нормально, а вот исходящий не понятно, вот что показывает в Queue List
А вот что в лог
Там показыает в исходящем 44 мегабайта, а в лог если мы 4654549/1048576=4,4 мегабайта.
Re: Помогите разобраться со скриптом?
Добавлено: 07 июн 2019, 13:24
Chupaka
Ага, значит, не показалось
Конечно же вместо
Код: Выделить всё
:set upload [:pick $alltraf 0 ([:find $alltraf "/"] - 1)];
должно быть
Код: Выделить всё
:set upload [:pick $alltraf 0 ([:find $alltraf "/"])];
, а то с "-1" оно последнюю цифру аплоада теряет
Re: Помогите разобраться со скриптом?
Добавлено: 07 июн 2019, 16:46
Ronin
Chupaka писал(а): ↑07 июн 2019, 13:24
Ага, значит, не показалось
Конечно же вместо
Код: Выделить всё
:set upload [:pick $alltraf 0 ([:find $alltraf "/"] - 1)];
должно быть
Код: Выделить всё
:set upload [:pick $alltraf 0 ([:find $alltraf "/"])];
, а то с "-1" оно последнюю цифру аплоада теряет
Во все заработало как и положено! Ну дружище не знаю как тебя и благодарить, помог по полной!!! Огромнейшее спасибо! В три форума написал только в этом помогли! Может эта тема еще кому нибудь поможет, потому как читая форумы, встречал подобные вопросы которые были без ответа! Если что могу обращаться? А то я не силен в микротиках, а только учусь и то купил попробовать что за штука, а штука оказалась отличная и никаких отдельных серверов не надо ставить. Стоит и работает коробочка!
Re: Помогите разобраться со скриптом?
Добавлено: 07 июн 2019, 18:10
Chupaka
Ronin писал(а): ↑07 июн 2019, 16:46
Во все заработало как и положено!
Рад слышать!
Ronin писал(а): ↑07 июн 2019, 16:46
Если что могу обращаться?
Для этого форум и существует
Re: Помогите разобраться со скриптом?
Добавлено: 07 июн 2019, 19:00
Ronin
Еще раз огромная благодарность!!!!
Re: Помогите разобраться со скриптом?
Добавлено: 02 июн 2023, 09:26
Tycoon
День добрый, для 6.49.8 не актуален скрипт да?
Re: Помогите разобраться со скриптом?
Добавлено: 02 июн 2023, 17:28
Chupaka
У Ronin версия 6.44 была, как вижу. А почему не актуален?
Re: Помогите разобраться со скриптом?
Добавлено: 03 июн 2023, 10:10
Tycoon
Сорян, всё работает, где-то накасячил в первый раз.