aus einer log datei von zeile x bis zum ende lesen

Besti

Grünschnabel
ich soll ein skipt schreiben das aus einer log datei die fehler ausliest und sie in eine andere datei speichert

das hab ich schon :)

jetzt soll das skript aber nicht jedesmal die log datei von anfang an durchgehen wenn sie neu ausgeführt wird, sondern von der neusten geänderten(neu angefügten) stelle aus anfangen
da dachte ich mir, ich nehme einen zähler des sich immer um 1 erhöht wenn eine neue zeile begonnen wird

nur wie sag ich perl das er von der bestimmten zeile(also zähler) der log file bis zum ende weiterliest


thx
besti
 
hi,

mein Vorschlag:
dein Logfileüberwachungsscript stellt fest, dass kein Statusfile.stat existiert ( x- File Test) und legt einen Statusfile.stat z.B. bei WIN32 echo 0 > c:\Temp\Statusfile.stat, mit dem Inhalt in ASCII 0 an. Der nächste Aufruf stellt fest, wie viele Zeilen deine Log Datei hat z.B. 4711 und vergleicht diese Anzahl mit dem Inhalt des Statusfile ( jetzt 0 ), dadurch werden durch Entscheidung, alle 4711 Logdatei Einträge, da neu, in eine temporäre Logfile.tmp kopiert und diesen durchsuchts du nach deinen gewünschten Kriterien.Die Anzahl der Zeilen die kopiert wurden sind im neu zu erstellenden Statusfile.stat aditional einzutragen (4711) . Beim nächsten Scan vergleiche die derzeitige Zeilenanzahl der Log Datei mit dem Wert aus dem Statusfile.stat (4711), wenn grösser z.B. 55, kopie alles ab Zeile 4712 in die neue Logfile.tmp und die neue Zeilenanzahl in Statusfile.stat ( 4766) usw. Übrigens, wir steuern das ganze noch durch einen logfile.cfg, in der der Inputpath t:\ora_admin\dmdb\instanzblabladb mit Logfilenamen zur Unterscheidung der Oracle-Instanz steht, deren Name auch als Prefix in den Logfile.tmp kopiert wird, aus der anschliesend die ORA- Nachrichten ausscannt werden, wobei die Fehlernachricht jeder Instanz eindeutig zuzuordnen ist.

Grüße

Uli
 
Zurück