Изборник Затворити

Микротик скрипт: чување статистике протока у текст датотеци

Скраћена веза: https://pedja.supurovic.net/veza/5245

Ево једноставног примера који демонистрира употребу микротик скрипт језика за читање података из Simple Queue у петљи и њихов запис у текстуалну датотеку:

{

 :local mOutput ""

 :foreach mQueue in=[ /queue simple find] do={  

   :local mName [get $mQueue name]
   :local mSaveStat [:find $mName "%"] 

   :if ($mSaveStat >= 0)  do={
     :local mBytes [get $mQueue bytes]
     /queue simple reset-counters $mQueue
     :set mOutput ( $mOutput . $mName . ":" . $mBytes  . "\n")
     :put ($mOutput)
   }

 }

 /file print file=wan-stats
 /file set wan-stats.txt contents="$mOutput"

}

Кроз листу Simple Queue правила се пролази петљом foreach. За свако правило се извршава код у do блоку петље. Прво се покупи име правила ($mName) а затим поглед да ли се у њему налази знак % ($mSaveStat >= 0) . Само за она правила која садрже овај знак бележи се статистика. То омогућава да можемо да изаберемо за која правила хоћемо статистику.

Прочитани проток се сачува у $mBytes да би га касније употребили, а након прочитане вредности, ресетује се бројач протока, тако да следеће очитавање даје промену од претходног очитавања.

Сви прочитани подаци се уписују у променљиву $mOutput као текст, с тим да се за свако правило на крају додаје и код \n, што обезбећује да су подаци за свако правило уписани у посебном реду.

На крају, садржај променљиве $mOutput уписујемо у датотеку wan-stats.txt.

1 Comment

  1. mtopic

    Pozdrav,
    malo mi nije jasno kako ovo da podesim… Da li je dovoljno da kreiram novu skriptu u System->Scripts i samo prekopiram ovaj kod od gore i u Simple Queues da pored svakog pravila dodam %?
    Kada sam ovako uradio i isao na RUN script nista se ne desava i nema mi nigde .txt fajla sa ovim podacima.
    Treba li skripta da se stavi u Scheduler i da se sama pokrece u odredjeno vreme, ili je dovoljno da je samo jednom pokrenem?
    Jos jedno pitanje da li ovo znaci da kada mi se restartuje ruter da ce sva statistika iz queuesa ostati zapamcena?
    Hvala!
    P.S. U pitanju je Mikrotik 3.11

Оставите одговор

Ваша адреса е-поште неће бити објављена. Неопходна поља су означена *

Попуните израз тако да буде тачан: *

Ово веб место користи Акисмет како би смањило непожељне. Сазнајте како се ваши коментари обрађују.