Hi there...
ich muss für meinen Ausbildungsbetrieb ein Perl-Script schreiben das ein Log-File (/var/log/ntp.log) auf bestimme Einträge überwacht (Errors).
Sobald ein Keyword in das Logfile geschrieben wird, soll eine Mail an den User ntpsave geschickt werden (wie das geht weiss ich bereits).
Nur ist mir nicht klar, wie ich bestimmt Dateien mit Perl überwachen kann, muss ich eine Endlosschleife in das Programm einfügen damit das Logifle immer neu eingelesen wird?
Hat jemand Beipieldateien (Scripts) die solche Aufgaben lösen, z.B. für FTP/WWW-Logfiles usw.
Dankeschön
Frank
Überwachung von Logfiles durch Perl-Script
Re: Überwachung von Logfiles durch Perl-Script
Hi,
das gehört eindeutig ins Programmierforum!
Ich habe das kürzlich in C programmiert, aber in Perl funktioniert es wohl genauso. Man öffnet die Datei und hält sie offen. Man merkt sich die Position, die man zuletzt eingelesen hat (am Anfang 0). Dann holt man sich einmal pro Sekunde die aktuelle Dateilänge mit stat(), und sobald sich die Länge geändert hat, liest man soviele Zeilen wie möglich ein, wertet sie aus und merkt sich die neue Dateiposition.
Gruß,
hjb
das gehört eindeutig ins Programmierforum!
Ich habe das kürzlich in C programmiert, aber in Perl funktioniert es wohl genauso. Man öffnet die Datei und hält sie offen. Man merkt sich die Position, die man zuletzt eingelesen hat (am Anfang 0). Dann holt man sich einmal pro Sekunde die aktuelle Dateilänge mit stat(), und sobald sich die Länge geändert hat, liest man soviele Zeilen wie möglich ein, wertet sie aus und merkt sich die neue Dateiposition.
Gruß,
hjb
Pro-Linux - warum durch Fenster steigen, wenn es eine Tür gibt?