LogFile überwachem

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
rtx05
Beiträge: 9
Registriert: 21.06.2005 15:41:45

LogFile überwachem

Beitrag von rtx05 » 06.12.2005 15:21:53

Hallo,

um eine Reihe von Server zu starten habe ich ein Skript geschrieben

Code: Alles auswählen

./server1_start.sh
tail -n 1 -f LogFile.log|awk '{if (match($0,"Server initilisiert")> 0) {print $0; exit;}'
./server2_start.sh
Server zwei soll erst dann gestartet werden, wenn Server 1 sich initilisiert hat, die kann man der LogFile entnehmen.

Leider funktioniert die tail | awk zeile nicht so ganz, da das exit awk beendet aber im tail-Prozess noch gefangen ist. Wie kann ich tail beenden?

Gruß
Johann

nil
Beiträge: 989
Registriert: 08.06.2005 13:28:36

Beitrag von nil » 06.12.2005 15:32:27

willst du nur die letzte Zeile (-n 1) oder fortlaufend (-f) ausgeben. Beides zusammen macht vielleicht keinen Sinn. Bei nur der letzten Zeile (-n 1) wird das Programm beendet, bei fortlaufend (-f) wird gewartet auf weitere Daten.

Benutzeravatar
Cloonix
Beiträge: 589
Registriert: 20.11.2004 10:42:24
Wohnort: München
Kontaktdaten:

Beitrag von Cloonix » 06.12.2005 15:35:47

Mahlzeit,

theoretisch ist das mit tail -f aber schon möglich. Wenn du im awk dann 'print EOF' machst, springt der tail aus der Schleife raus. Jedoch muss eine weitere Meldung in die Log geschrieben werden, damit das tail schnallt. Wie genau das nun arbeitet, weiss ich nicht. Mit 'print EOF' funktioniert es aber. Vielleicht kannst ja mit dem Tipp weiter machen.

MfG
proud to be 100% M$ free (except X300T)
http://claus.freakempire.de
http://debian.freakempire.de

rtx05
Beiträge: 9
Registriert: 21.06.2005 15:41:45

Beitrag von rtx05 » 06.12.2005 15:45:20

willst du nur die letzte Zeile (-n 1) oder fortlaufend (-f) ausgeben.
ups ok, die -n 1 stimmt nicht, habe ich auch nicht mehr im Skript. War noch von Testversuchen auf der Konsole :?
(Dachte anfangs er gibt mir die letzte Zeile aus (statt 10) und schiebt dann Zeile für Zeile nach, ist ja aber auch egal)

Das tail -f muss ich aus AWK irgendwie abbrechen.

Oder kann ich die komplette Datei in AWK bearbeiten, im -f-Modus natürlich? Da hab ich nichts gefunden.

rtx05
Beiträge: 9
Registriert: 21.06.2005 15:41:45

Beitrag von rtx05 » 06.12.2005 15:49:59

@cloonix

danke werde das mal probieren.

Jedoch werden weitere Zeilen wohl erst geloggt, wenn Server 2 loslegt das muss ich nochmals genau prüfen :?

Antworten