Cron-Jobs unter Kontrolle: So werden Sie bei Fehlern automatisch per E-Mail benachrichtigt

Datum der VeröffentlichungAutor des ArtikelsSchreibe einen KommentarKommentare zu diesem Artikel
cronjob_fi2

Der Cron-Dienst ist für Server-Administratoren unverzichtbar. Er ermöglicht uns die Automatisierung von Wartungsaufgaben, wie z.B. die Archivierung von Protokolldateien oder das Entfernen temporärer Daten. Ob eine Aufgabe jedoch tatsächlich korrekt vom Cron-Daemon ausgeführt wurde, wird in der Praxis häufig erst viel zu spät festgestellt. Lassen Sie sich deshalb direkt per E-Mail informieren, wenn ein Fehler bei der Cron-Verarbeitung auftritt.

Wie Sie Cron-Ausgaben an eine Mail-Adresse verschicken

In den Standardeinstellungen des Cron-Daemon ist bereits festgelegt, dass der Eigentümer einer Crontab-Datei jede diese Ausgaben des Cron-Daemon per Mail erhält. Nur leider gehen die Nachrichten nur an das Postfach des lokalen Benutzers auf dem Server, der auch ein fiktiver Benutzer oder der administrativen Standardbenutzer „root“ sein kann. Damit Sie die Nachrichten der verschiedenen Benutzer zunächst zentral auf ein lokales Postfach bündeln, fügen Sie im System die Zeile root: account-name in die Datei /usr/lib/asliases ein (für Debian /etc/aliases).

Wenn Sie allerdings so wie ich nicht täglich einen Blick in die lokale Maildatei auf dem Server werfen, laufen Sie Gefahr kritische Fehler nicht rechtzeitig zu bemerken. Ich rate Ihnen daher, sich alle Fehlermeldungen direkt an Ihre E-Mail-Adresse weiterleiten zu lassen. Die Benachrichtigung erfolgt damit unabhängig vom Besitzer der Cron-Tabelle. Dazu müssen Sie lediglich die Zeile MAILTO=“empfänger@adresse.de“ im Crontab ergänzen. Um die neue Adresse zu aktualisieren, bestätigen Sie den Vorgang mit der Eingabe newaliases in der Konsole.

Achtung: Mit dem gleichen Befehl ohne Angabe der E-Mail-Adresse (MAILTO=““) lässt sich die Benachrichtigung auch ganz abschalten.

So leiten Sie nur Fehlermeldungen an Ihre E-Mail-Adresse weiter

Um das Postfach bei der Flut an Meldungen übersichtlich zu halten, können Sie sich nur die Fehlermeldungen der ausgeführten Jobs zuschicken lassen. Dies erreichen Sie, indem Sie Standardausgaben ohne Fehler in eine Logfile schreiben lassen oder ganz einfach nach >/dev/null umleiten. Durch den Ausschluss werden nur noch Fehlermeldungen per E-Mail verschickt. Dieser Befehl funktioniert auch für den Versand der Ausgaben an das lokale Mailpostfach auf dem Server.

Achtung: Mit dem Befehl [cronjob] > /dev/null 2>&1 leiten Sie sowohl Standard- als auch Fehlerausgaben (Datenkanal 1 und 2) weiter.

Kombinieren Sie diese beiden Befehle nun, indem Sie sich ausschließlich Fehlermeldungen an Ihre direkte E-Mail-Adresse schicken lassen. Dazu müssen Sie im Cronjob oberhalb der Befehle die MAILTO=““ Angabe ergänzen. Für jeden Job lassen Sie außerdem die Standardausgabe ins Nirvana leiten:

MAILTO=“ empfänger@adresse.de”

[cronjob] > /dev/null

[zweiter job] > /dev/null

[dritter job] > /dev/null

cronjob

Wenn Sie die Cronjobs so unterscheiden wollen, dass zum einen alle Ausgaben angezeigt werden, während Sie für andere Tabellen gar keine Ausgabe erhalten, nutzen Sie dafür allein die MAILTO=““ Ergänzung und unterscheiden rein nach der Art des Jobs:

MAILTO=“empfänger@adresse.de”

***[cronjob]

*** [zweiter job]

*** [dritter job]

MAILTO=“”

*** [vierter job]

*** [fünfter job]

*** [sechster job]


 

Veröffentlicht in: Webserver-Blog

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.