Привет! Вот скрипт, который я сделал для пользователей PPPoE, которые были онлайн менее часа, но скачали больше 15 МБ. Для них скорость будет снижена, если они соответствуют условиям. Обновлено! Возможно, потребуется улучшение. :foreach i in=[/ppp active find] \
do= { \
:set sName [/interface get $i name]
:set sTotalBytes [/queue simple get $sName total-bytes] ; \
:set sUptime [/ppp active get $i uptime]
:if ($sUptime < 30m && $sTotalBytes > 10240000) \
do={ \
:log info ($sName . " превысил лимит в 10 Мегабайт и был онлайн " . $sUptime . ", снижаю скорость до 22.4k/105k")
/queue simple set $sName limit-at=22400/105600 max-limit=22400/105600
}
:if ($sUptime > 30m && $sUptime < 1h && $sTotalBytes > 15360000) \
do={ \
:log info ($sName . " превысил лимит в 15 Мегабайт и был онлайн " . $sUptime . ", снижаю скорость до 22.4k/33.6k")
/queue simple set $sName limit-at=22400/33600 max-limit=22400/33600
}
}
}
do= { \
:set sName [/interface get $i name]
:set sTotalBytes [/queue simple get $sName total-bytes] ; \
:set sUptime [/ppp active get $i uptime]
:if ($sUptime < 30m && $sTotalBytes > 10240000) \
do={ \
:log info ($sName . " превысил лимит в 10 Мегабайт и был онлайн " . $sUptime . ", снижаю скорость до 22.4k/105k")
/queue simple set $sName limit-at=22400/105600 max-limit=22400/105600
}
:if ($sUptime > 30m && $sUptime < 1h && $sTotalBytes > 15360000) \
do={ \
:log info ($sName . " превысил лимит в 15 Мегабайт и был онлайн " . $sUptime . ", снижаю скорость до 22.4k/33.6k")
/queue simple set $sName limit-at=22400/33600 max-limit=22400/33600
}
}
}
