Pokud vím, tak wildcards se v RoS Scripting Host používat nedají, takže se na to musí jít menší obezličkou:
:foreach a in=[find] do={
:if ([:find [get $a name] " Skupina1"]!=false) do={
:set sqLevel $a
}
}
}
BTW.: sqLevel ;? To by stejně asi nefungovalo a problém by byl také, pokud by bylo shod více
Dakujem, ale kedze ked rozdavali bunky na programovanie som tam chybal, ak mozem poprosit este o zakomponovanie do nizsie uvedneho skriptu na FUP, ktory funguje pod 2.9.xx a je z eng. fora, ale aj v tunajsom fore bol rozoberany. A ze som taky smely, prosim keby sa nasiel niekto, kto by tento skript upravil aj pre verzie 3.xx
Urcite sa to zide aj viacerym.
Vrele dik.
Ucel pouzitia:
Simple Queues maju nazvy "Janko Mrkvicka Skupina1" , "Petik Cierny Skupina1"..atd, "Honza Maly Skupina2", Standa Velky Skupina2"...atd., "Miroslav Silny Skupina3", "Vlado Mensi Skupina3" ... atd.
Cize podla skupiny maju uzivatelia podla toho kde su zaradeni obmedzeny pocet prenesnych dat up/down spolu, po prekroceni ktoreho je im znizena rychlost.
Na ako dlho a kedy sa riesi v scheduleri, plus nulovanie pocitadiel. Len ide o to aby skript nasiel nazvy SQ podla skupiny aj ked okrem nazvu skupiny (Skupina1 ci 2 ci 3 tam bolo aj meno uzivatela, lebo kazdy ma svoju SQ a dve SQ s rovnakym nazvom sa nedaju nastavit-to je technicky problem a druhy je jasne ze orientacia koho je ta ktora SQ. A cele je to (to risenie s kvazi wildcards) kvoli tomu, aby som nemusel pre kazdeho jedneho uzivatela vytvarat v skripte samostatny zaznam.
/queue simple; :foreach i in=[find] \
do={ \
:set sqName [get $i name]; \
# :set sqTotalAvgRate [get $i total-avg-rate]; \
:set sqTotalBytes [get $i total-bytes]; \
:set sqLevel [:find $sqName "Skupina1"]; \
:if ($sqLevel >= 0) do={ \
set $i max-limit=512000/1024000 burst-threshold=0/0 burst-limit=0/0 burst-time=0/0; \
:if ($sqTotalBytes > 2048000000) do = { \
set $i max-limit=128000/256000 burst-threshold=0/0 burst-limit=0/0 burst-time=0/0; \
}; \
} else {
:set sqLevel [:find $sqName "Skupina2"]; \
:if ($sqLevel >= 0) do={ \
set $i max-limit=768000/1536000 burst-threshold=0/0 burst-limit=0/0 burst-time=0/0; \
:if ($sqTotalBytes > 2048000000) do = { \
set $i max-limit=192000/384000 burst-threshold=0/0 burst-limit=0/0 burst-time=0/0; \
}; \
} else { \
:set sqLevel [:find $sqName "Skupina3"]; \
:if ($sqLevel >= 0) do={ \
set $i max-limit=1024000/2048000000 burst-threshold=0/0 burst-limit=0/0 burst-time=0/0; \
:if ($sqTotalBytes > 2048000000) do = { \
set $i max-limit=256000/512000 burst-threshold=0/0 burst-limit=0/0 burst-time=0/0; \
}; \
}; \
}; \
}; \
:if ($sqLevel >= 0) do { \
:put ([get $i name] . " : " . [get $i limit-at] . " : " . [get $i max-limit] . " : " . [get $i burst-limit] . " : " . [get $i burst-threshold] . " : " . [get $i burst-time]) ; \
}; \
}