Lösung 1:
Beim Schreiben dieser Frage habe ich mir selbst eine Antwort gegeben. Also antworte ich mir "Jeopardy-style". Dies erweitert die Antwort von Dennis Williamson.
Das Folgende sendet alle Cron-Ausgaben an /usr/bin/logger
(einschließlich stderr, das mit 2>&1
in stdout konvertiert wird ), die an Syslog gesendet wird, mit einem 'Tag' von nsca_check_disk
. Syslog verarbeitet es von dort aus. Da diese Systeme (CentOS und FreeBSD) bereits über eingebaute Log-Rotationsmechanismen verfügen, muss ich mich nicht um ein Log wie /var/log/mycustom.log
kümmern eine Festplatte füllen.
*/5 * * * * root /usr/local/nagios/sbin/nsca_check_disk 2>&1 | /usr/bin/logger -t nsca_check_disk
/var/log/messages hat jetzt eine zusätzliche Nachricht, die Folgendes besagt:
Apr 29, 17:40:00 192.168.6.19 nsca_check_disk: 1 data packet(s) sent to host successfully.
Ich mag /usr/bin/logger , weil es gut mit einer bestehenden Syslog-Konfiguration und -Infrastruktur funktioniert und in den meisten Unix-Distributionen enthalten ist. Die meisten *nix-Distributionen führen bereits Log-Rotation durch und machen das gut.
Lösung 2:
Leiten Sie die Ausgabe durch den Logger.
0 * * * * root /usr/local/nagios/sbin/nsca_check_disk | logger -p local0.notice
Bearbeiten: Ihr Update scheint der richtige Weg zu sein.