Jeste jednou zdravim vsechny uzivatele a prosim zdali by někdo nemohl na MK 2.9.x vyzkouset (popripade upravit) tento script na omezovani rychlosti dle stazenych dat s Queue Tree. Ve verzi 2.8.x jede bez problémů ale u 2.9.x nejede. Díky za pomoc.
Dejvas
Script FUP_RUN
# Kontroluje limit dat a pri prekroceni snizi rychlost.
# Pripraveno pouze pro Queue Tree.
# Created by JALI (mikrotik@jali.cz)
# zde nastav pri kolika bytech dojde k omezeni
:local limitmax
:set limitmax 15000000
# zde nastav jaka bude omezena rychlost
:local speedmin
:set speedmin 96000
# zde nastav pri kolika bytech dojde k obnoveni vyssi rychlosti
:local limitmin
:set limitmin 4500000
# zde nastav jaka bude vyssi rychlost
:local speedmax
:set speedmax 0
# zde nastav na jakou parent se bude omezovani vztahovat
:local parent
:set parent Sdilene_down
# zde napis e-mail na ktery bude spravci chodit upozorneni o omezeni
:local email
:set email vas@email.cz
# zde napis "yes" pokud chces aby byl email odesilan jinak "no"
:local sendemail
:set sendemail "no"
# zde napis "yes" pokud chces aby byla vypisovana hlaseni do logu jinak "no"
:local echolog
:set echolog "yes"
# Pracovni promenne
:local par
:local traf
:local name
:local edata
:local data
:local max
/queue tree
:foreach i in=[/queue tree find] do ={
:set name [get $i name]
:set traf [get $i bytes]
:set par [get $i parent]
:set max [get $i max-limit]
:if (($par=$parent) && ($traf>$limitmax) && !($max = $speedmin)) \
do={
/queue tree set $name max-limit=$speedmin
:set data ("user " . $name . " prekrocil limit " . $limitmax . " stav je " . $traf . " rychlost snizena na " . $speedmin)
:set edata ($edata . $data . "
")
:if ($echolog) do={
:log facility=System-Info message=($data)
}
}
}
:foreach i in=[/queue tree find] do ={
:set name [get $i name]
:set traf [get $i bytes]
:set par [get $i parent]
:set max [get $i max-limit]
:if (($par=$parent) && ($traf<$limitmin) && ($max = $speedmin)) \
do={
/queue tree set $name max-limit=$speedmax
:set data ("user " . $name . " nedosahl limit " . $limitmin . " stav je " . $traf . " rychlost zvysena na " . $speedmax)
:set edata ($edata . $data . "
")
:if ($echolog) do={
:log facility=System-Info message=($data)
}
}
}
/queue tree reset
:if ($data="") do={
:set sendemail "no"
}
:if ($sendemail) do {
/tool e-mail send to=vas@email.cz subject=([/system identity get name] . " Seznam omezenych rychlosti") \
body=("Datum : " . [/system clock get date] . "
as : " . [/system clock get time] . "
zacatek dat xxxxxxxxxxx
" . $edata . "
zzzzzzzzzzz konec dat")
}
FUP_Obnov
# Rusi omezeni rychlosti jednotlivych queue.
# Created by JALI (mikrotik@jali.cz)
# zde nastav jaka byla omezena rychlost
:local speed
:set speed 64000
# zde nastav na jakou parent se omezeni vztahovalo
:local parent
:set parent Sdilene_up
# zde napis e-mail na ktery bude spravci chodit upozorneni
:local email
:set email vas@email.cz
# zde napis "yes" pokud chces aby byl email odesilan jinak "no"
:local sendemail
:set sendemail "no"
# zde napis "yes" pokud chces aby byla vypisovana hlaseni do logu jinak "no"
:local echolog
:set echolog "yes"
# Pracovni promenne
:local name
:local par
:local spe
:local data
:local edata
/queue tree
:foreach i in=[/queue tree find] do ={
:set name [get $i name]
:set par [get $i parent]
:set spe [get $i max-limit]
:if (($par=$parent) && ($spe = $speed)) \
do={
/queue tree set $name max-limit=0
:set data ("user " . $name . " ma obnovenu maximalni rychlost")
:set edata ($edata . $data . "
")
:if ($echolog) do={
:log facility=System-Info message=($data)
}
}
}
:if ($data="") do={
:set sendemail "no"
}
:if ($sendemail) do {
/tool e-mail send to=vas@email.cz subject=([/system identity get name] . " Seznam obnovenych rychlosti") \
body=("Datum : " . [/system clock get date] . "
Čas : " . [/system clock get time] . "
zacatek dat xxxxxxxxxxx
" . $edata . "
zzzzzzzzzzz konec dat")
}