Jump to content
Калькуляторы

Помогите разобраться со скриптом?

Здравствуйте!!! Имеется рабочий скрипт для ограничения скорости после достижения определенного объема трафика.

: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 адрес??? За ранее благодарю!!!

Share this post


Link to post
Share on other sites

Всем спасибо!!! Люди добрые помогли со скриптом, доработали. Все работает отлично!!! Тему можно закрыть!

Share this post


Link to post
Share on other sites
10 часов назад, Timurka сказал:

Поделитесь результатом)

 

Пожалуйста!!!

: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 "/"])];
	: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"
	}

 

Edited by Ronin78

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now