Ahoj,
uz docela dlouho se peru s asi jednoduchym zadanim. Potrebuji generovat ton v pripade, ze se v logu objevi radek kteremu vyhovi ma podminka (obsahuje cast). Ve skriptovani na mk nejsem vubec zbehly...(rb411, ROS 4.x).
Nasel jsem tuto ukazku:
http://wiki.mikrotik.com/wiki/Manual ... _log_entry
Problem je, ze v $messages nikdy nic nemam, currentBuf, currentLineCount, currentTime se mi plni spravne, data obsahuji. Promenna lastTime ale nikdy nic neobsahuje (overeno vypisovanim do logu). Dalsi vec pak je, ze nevim jak overit $message proti memu retezci, podle vypisu se jedna o pole, ktere se mi nepodarilo prevest na string pro porovnani. Skript poustim periodicky shedulerem, system logging mam nastavene (vybrane polozky mi dava do logParser bufferu).
:global lastTime;
:global currentBuf [ :toarray [ /log find buffer=logParser ] ] ;
:global currentLineCount [ :len $currentBuf ] ;
:global currentTime [ :totime [/log get [ :pick $currentBuf ($currentLineCount -1) ] time ] ];
:log info $lastTime;
:global message "";
:if ( $lastTime = "" ) do={
:set lastTime $currentTime;
:set message [/log get [ :pick $currentBuf ($currentLineCount-1) ] message];
} else={
:if ( $lastTime < $currentTime ) do={
:set lastTime $currentTime ;
:set message [/log get [ :pick $currentBuf ($currentLineCount-1) ] message];
}
}
:if ([:find [:tostr $message] "associate"] != "") do={
:beep frequency=900 length=1ms;
:log info "WOW!";
}