Ich suche nach einer besseren Möglichkeit, Cronjobs zu protokollieren. Die meisten Cronjobs neigen dazu, E-Mails oder die Konsole zu spammen, ignoriert zu werden oder eine weitere Protokolldatei zu erstellen.
In diesem Fall habe ich ein Nagios-NSCA-Skript, das Daten an einen zentralen Nagios-Server sendet. Dieses send_nsca-Skript gibt auch eine einzelne Statuszeile an STDOUT aus, die Erfolg oder Misserfolg anzeigt.
0 * * * * root /usr/local/nagios/sbin/nsca_check_disk
Dies sendet die folgende Nachricht per E-Mail an root @ localhost, die dann an mein Team von Sysadmins weitergeleitet wird. Spam.
forwarded nsca_check_disk: 1 Datenpaket (e) erfolgreich an Host gesendet.
Ich suche eine Protokollierungsmethode, die:
- Versendet keine Spam-Mails an E-Mails oder die Konsole
- Erstellen Sie keine weitere krufty-Protokolldatei, die Monate oder Jahre später bereinigt werden muss.
- Erfassen Sie die Protokollinformationen an einem beliebigen Ort, damit sie bei Bedarf später angezeigt werden können.
- Funktioniert auf den meisten Unixen
- Passt in eine vorhandene Protokollinfrastruktur.
- Verwendet gängige Syslog-Konventionen wie "Facility" und "Priority"
- Kann mit Skripten von Drittanbietern arbeiten, die nicht immer intern protokollieren.
00 00 * * * systemd-cat -t "tagname" /path/to/app.sh
nachsudo crontab -u root -e
Leiten Sie die Ausgabe durch den Logger .
Bearbeiten: Ihr Update scheint der richtige Weg zu sein.
quelle
Sie können auch
crond
mit Option-s
(oder-S
in Busybox) ausführen, damit die Ausgabe an gesendet wirdsyslog
.quelle