Скрипт для MikroTik: уменьшения скорости пользователей после превышения лимита
В ситуации когда группе пользователей, которая работает через MikroTik (Микротик) (используется в качестве устройства доступа в Интернет). Нам нужно ограничить скорость до 1Мбит/с симметрично тех, кто скачал более 3Гбайт или любого другого числа байт.
Сам скрипт очень прост и его можно сразу же протестировать или изменить:
после загрузки Микротика:
:local uploadspeed; :local downloadspeed; :local totaltraffic; :local realtraffic; :local limittraffic; :set limittraffic 3000; :for y from=2 to=254 do={ :local n; :set n "user$y"; :put $n; :set realtraffic [/queue simple get "$n" byte]; :set uploadspeed [:pick $realtraffic 0 ([:find $realtraffic "/"]-1)]; :set downloadspeed [:pick $realtraffic ([:find $realtraffic "/"]+1) [:len $realtraffic]]; :set totaltraffic (($uploadspeed + $downloadspeed) / 1048576); :put $totaltraffic; :if ($totaltraffic >= $limittraffic ) do={ /queue simple set [find name="$n"] max-limit="1M/1M"}}
Если результаты Вас устроили, то переходим в консоле
/system scripts
или через утилиту winbox вводим скрипт Tools -> New Script:

Name – имя нового скрипта (в нашем случае limit_user_after_3g).
Source – пишем вышеприведенный листинг скрипта. Жмем Ок.
Теперь по имени можно найти созданный скрипт. Для запуска нужно нажать Run Script.