Jan 29

Eines Log für Cron (cron.log)

[ Geschrieben von Daniel Alburg am 29.01.2009 um 21:08 Uhr ]

cron ist ein Dienst, der schon seit den Anfängen von Linux mit „on Board“ ist. Dieser führt in regelmässigen angegebenen Abständen bestimmte Arbeiten aus.
Jedes mal, wenn cron seinen Dienst beendet hat, schreibt dieser eine Statuszeile in die /var/log/messages.

Die message wird somit relativ schnell unübersichtlich. Damit cron seine eigene Log-Datei erhält, müßen wir das den syslog-Daemon sagen. Denn cron schreibt nicht direkt in die messages, sondern übergibt die Statusmeldung an den syslog-Daemon. Diese schreibt dann alle eintreffenden Nachrichten in die zuständige Datei.

Befehl für Shell/Batch:
vi /etc/syslog-ng/syslog-ng.conf

 

Dort suchen wir nach … was relativ weit oben in der Datei steht. I.d.R. ist diese nicht auskommentiert.
Sollte ein # davor zu finden sein, so ist dieses zu entfernen.

Zitat:
filter f_cron { facility(cron); };

 

Ziemlich am Ende der Datei finden wir dann folgende beiden Einträge, die i.d.R auskommentiert sind.
Hier entfernen wir das # Zeichen.

Zitat:
destination cron { file(„/var/log/cron“); };
log { source(src); filter(f_cron); destination(cron); };

 

Nun würde syslog schon mal den Statuseintrag von cron in die Log von cron schreiben. Problem dabei ist nur, das nun die messages UND die cron den Eintrag erhält.
In der Mitte der Datei finden wir folgende Regel. Diese ist zu erweitern:

Zitat:
ALT:
filter f_messages { not facility(news, mail) and not filter(f_iptables); };
NEU:
filter f_messages { not facility(news, mail) and not filter(f_iptables) and not filter(f_cron); } ;

 

Das wars schon. Damit das ganze auch gültig wird, re-starten wir syslog.

Befehl für Shell/Batch:
/etc/init.d/syslog restart

 

Einen Kommentar schreiben