GELÖST:scripte nach Log-Eintrag starten? Ich komm nicht drau

Du suchst ein Programm für einen bestimmten Zweck?
Antworten
gingupin

GELÖST:scripte nach Log-Eintrag starten? Ich komm nicht drau

Beitrag von gingupin » 31.08.2010 18:10:52

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... :roll:

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 :arrow:

Dankeschön :THX:
Zuletzt geändert von gingupin am 04.09.2010 21:12:51, insgesamt 1-mal geändert.

Benutzeravatar
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..

Beitrag von feltel » 31.08.2010 18:37:31

Vielleicht kann man sowas mit logcheck machen lassen. Das wäre das Tool was mir jetzt so auf anhieb einfällt.

gingupin

Re: scripte nach Log-Eintrag starten? Ich komm nicht drauf..

Beitrag von gingupin » 01.09.2010 07:32:14

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. :wink:

aber danke für den Tipp... vielleicht kann ich das ein wenig umbauen.....

underliner
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..

Beitrag von underliner » 01.09.2010 09:04:12

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
Google is my teacher !!!

gingupin

Re: scripte nach Log-Eintrag starten? Ich komm nicht drauf..

Beitrag von gingupin » 01.09.2010 13:00:45

Moin nochmal,

@underliner : watch kenn ich.... geht auch in die Richtung... -aber :?

vielleicht habe ich mich auch unklar ausgedrückt!

:arrow:
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! :D :D

:roll: :roll: 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 :? :?

Benutzeravatar
detix
Beiträge: 1744
Registriert: 07.02.2007 18:51:28
Wohnort: MK

Re: scripte nach Log-Eintrag starten? Ich komm nicht drauf..

Beitrag von detix » 01.09.2010 17:12:06

Aber irgendsoein periodisch startendes Programm sollte es doch sein und wenn es watch nicht ist,
vielleicht inotifywait oder inotifywatch aus den Debianinotify-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!

gingupin

Re: scripte nach Log-Eintrag starten? Ich komm nicht drauf..

Beitrag von gingupin » 04.09.2010 21:11:41

Moin nochmal,

@detix Aus den Manpages von inotifywait: :D :D

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
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 :lol:

Antworten