Hallo Debianer....
Ich seh wohl vor lauter Wald die Bäume nicht....bin jetzt schon seit einer Stunde am durchforsten der
repos, aber ich komme nicht mehr drauf...
Mein Problem: Ich möchte ein Script starten, wenn bestimmte vorgaben (Strings) in einer Log-Datei auftauchen.
Ich weiss, das es sowas gibt, aber mein altes Hirn kommt nicht mehr drauf!
Um Missverständnissen vorzubeugen: Es geht mir nicht um eine "grep" suche und den start eines scriptes, sondern ich
brauche eine permanente Überwachung der Logdatei und das Ausführen eines Scriptes, wenn z.B.: die UUID eines
mobilen Datenträgers auftaucht....ein Prozess ein Logeintrag schreibt und daraufhin ein script gestartet wird.
Schubbst mich bitte mal in die richtige Richtung
Dankeschön
GELÖST:scripte nach Log-Eintrag starten? Ich komm nicht drau
GELÖST:scripte nach Log-Eintrag starten? Ich komm nicht drau
Zuletzt geändert von gingupin am 04.09.2010 21:12:51, insgesamt 1-mal geändert.
- feltel
- Webmaster
- Beiträge: 10476
- Registriert: 20.12.2001 13:08:23
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Leipzig, Germany
-
Kontaktdaten:
Re: scripte nach Log-Eintrag starten? Ich komm nicht drauf..
Vielleicht kann man sowas mit logcheck machen lassen. Das wäre das Tool was mir jetzt so auf anhieb einfällt.
debianforum.de unterstützen? Hier! | debianforum.de Verhaltensregeln | Bitte keine Supportanfragen per PM
Re: scripte nach Log-Eintrag starten? Ich komm nicht drauf..
feltel hat geschrieben:Vielleicht kann man sowas mit logcheck machen lassen. Das wäre das Tool was mir jetzt so auf anhieb einfällt.
Moin,
logcheck versendet aber "nur" mails nach einem logscan.... ich möchte ein script starten, wenn bestimmte
zeichenketten in einer Logdatei auftauchen.
aber danke für den Tipp... vielleicht kann ich das ein wenig umbauen.....
-
- Beiträge: 42
- Registriert: 13.04.2009 08:17:54
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Verden - Nds.
Re: scripte nach Log-Eintrag starten? Ich komm nicht drauf..
Hallo gingupin,
schau dir mal das Programm 'watch' an. Es führt periodisch ein Programm/Script/Befehl aus.
Ist vielleicht was für dich.
Gruß underliner
schau dir mal das Programm 'watch' an. Es führt periodisch ein Programm/Script/Befehl aus.
Ist vielleicht was für dich.
Gruß underliner
Google is my teacher !!!
Re: scripte nach Log-Eintrag starten? Ich komm nicht drauf..
Moin nochmal,
@underliner : watch kenn ich.... geht auch in die Richtung... -aber
vielleicht habe ich mich auch unklar ausgedrückt!
Maschine läuft.....headless....Server.....logt so vor sich hin..... in einem Log taucht eine bestimmte Zeile auf....
die Logüberwachung löst daraufhin ein bestimmtes Script aus.... ich bin glücklich!
Ich weiss aber nicht mehr, womit ich jede neue Zeile eines Logs überprüfen kann und bei Übereinstimmung mit einer vorgegebenen Zeichenkette einen neuen Befehl auslösen kann
@underliner : watch kenn ich.... geht auch in die Richtung... -aber
vielleicht habe ich mich auch unklar ausgedrückt!
Maschine läuft.....headless....Server.....logt so vor sich hin..... in einem Log taucht eine bestimmte Zeile auf....
die Logüberwachung löst daraufhin ein bestimmtes Script aus.... ich bin glücklich!
Ich weiss aber nicht mehr, womit ich jede neue Zeile eines Logs überprüfen kann und bei Übereinstimmung mit einer vorgegebenen Zeichenkette einen neuen Befehl auslösen kann
Re: scripte nach Log-Eintrag starten? Ich komm nicht drauf..
Aber irgendsoein periodisch startendes Programm sollte es doch sein und wenn es watch nicht ist,
vielleicht inotifywait oder inotifywatch aus den inotify-tools?
Die Lösung interessiert mich sehr, wenn es das auch nicht ist...
vielleicht inotifywait oder inotifywatch aus den inotify-tools?
Die Lösung interessiert mich sehr, wenn es das auch nicht ist...
Gruß an alle Debianer, und immer daran denken:
Macht ohne Haftung funktioniert nicht!
Macht ohne Haftung funktioniert nicht!
Re: scripte nach Log-Eintrag starten? Ich komm nicht drauf..
Moin nochmal,
@detix Aus den Manpages von inotifywait:
Mein alter Kopf hat zwar irgendwie einen anderen Befehl im Kopf gehabt, aber das bringt auch das
erwünschte Ergebnis. Dankeschön. Anstatt das Programm periodisch zu starten, wird es jetzt nur dann ausgeführt, wenn die zu überwachende Log-Datei auch einen entsprechenden Log-Eintrag erhält. Hintergrund ist eine bash-basierende Firewall mit "selbstlern"-Effekt.
Dankeschön nochmal
@detix Aus den Manpages von inotifywait:
Code: Alles auswählen
#!/bin/sh
while inotifywait -e modify /var/log/messages; do
if tail -n1 /var/log/messages | grep httpd; then
kdialog --msgbox "Apache needs love!"
fi
done
erwünschte Ergebnis. Dankeschön. Anstatt das Programm periodisch zu starten, wird es jetzt nur dann ausgeführt, wenn die zu überwachende Log-Datei auch einen entsprechenden Log-Eintrag erhält. Hintergrund ist eine bash-basierende Firewall mit "selbstlern"-Effekt.
Dankeschön nochmal