Войти

Показать полную графическую версию : Поиск алерта и запуск триггера


Butunin Klim
20-06-2011, 17:44
Есть тектовый фаил TXT
в нем есть некоторые строки по которым нужно сделать трегеры например запустить тут или иную программу для простоты возьмем простой net send

И так условие
Есть фаил Log.txt
в фаил пришутся данные при не верной работе программы в лог пишется сообщение "Error Alert"

Нужен парсер который парсил бы этот лог на поиск данной строки. НО при этом не реагировал на старые подобные алерты...
Не пойму как сделать?!

ferget
20-06-2011, 18:00
покажите Log.txt

Butunin Klim
20-06-2011, 18:32
00000708 @ 20-06-2011, 09:11:27 @ @ PLAYER_IO @ XPch:0 getData @ EOD:pos=160576
00000708 @ 20-06-2011, 09:11:27 @ @ PLAYER_IO @ XPch:0 getData @ EOD:pos=160576
00000708 @ 20-06-2011, 09:11:27 @ @ PLAYER_IO @ XPch:0 getData @ EOD:pos=160576
00000708 @ 20-06-2011, 09:11:27 @ @ PLAYER_IO @ XPch:0 getData @ EOD:pos=160576
00000708 @ 20-06-2011, 09:11:27 @ @ PLAYER_IO @ XPch:0 getData @ EOD:pos=160576
00000708 @ 20-06-2011, 09:11:27 @ @ PLAYER_IO @ XPch:0 getData @ EOD:pos=160576
00000540 @ 20-06-2011, 09:11:27 @ @ PLAYER_IO @ AutoLoad @ Эхономика - Хвост 2 AID=16 dur:0
00000540 @ 20-06-2011, 09:11:27 @ @ PLAYER_IO @ AutoLoad @ Added to chain
00000708 @ 20-06-2011, 09:11:27 @ @ PLAYER_IO @ XPch:0 getData @ EOD:pos=160576
00000708 @ 20-06-2011, 09:11:27 @ @ PLAYER_IO @ XPch:0 getData @ EOD:pos=160576

ЕСЛИ dur: Больше 50 то условие...

amel27
21-06-2011, 11:44
Есть фаил Log.txt
в фаил пришутся данные при не верной работе программы в лог пишется сообщение "Error Alert"
Нужен парсер который парсил бы этот лог на поиск данной строки. НО при этом не реагировал на старые подобные алерты »@echo off
if exist "%~n0.ini" set/p $n=<"%~n0.ini"
set/a "$i=0,$n+=0"
for /f "tokens=1* delims=[]" %%a in ('^<"Log.txt" find/n "Error Alert"') do if %%a gtr %$n% (set/a $i+=1
>"%~n0.ini" echo %%a)

if %$i% gtr 0 NET SEND %ComputerName% ALERT!
ЕСЛИ dur: Больше 50 то условие... »не вижу связи с первым постом

Butunin Klim
21-06-2011, 13:09
amel27 привет!
В который раз выручаешь ...
Есть мысли по поводу dur больше 50!?

amel27
21-06-2011, 15:48
Есть мысли по поводу dur больше 50!? »
@echo off
SetLocal EnableDelayedExpansion

for /f "delims=" %%a in ('^<"1.log" find " dur:"') do (set "$a=%%a"
set/a "$a=!$a:* dur:=!+0")

if %$a% gtr 50 echo dur больше 50^^!

Butunin Klim
21-06-2011, 16:49
На одну и туже надпись срабатывать будет при парсинге?!
Я имею ввиду если парсер будет бегать по файлу

amel27
21-06-2011, 17:11
На одну и туже надпись срабатывать будет при парсинге?! »на последнюю - поскольку других условий не задано, а в примере только одна

Butunin Klim
23-06-2011, 14:43
Согласен, помоги тогда если таких dur за сутки встречается N количество.
Что бы срабатываний не было на старые записи

amel27
24-06-2011, 01:56
если таких dur за сутки встречается N количество »на последнюю »




© OSzone.net 2001-2012