Solusi 1:
Dalam proses menulis pertanyaan ini, saya menjawab sendiri. Jadi saya akan menjawab sendiri "Jeopardy-style". Ini memperluas jawaban yang diberikan oleh Dennis Williamson.
Berikut ini akan mengirimkan keluaran Cron apa pun ke /usr/bin/logger
(termasuk stderr, yang dikonversi ke stdout menggunakan 2>&1
), yang akan dikirim ke syslog, dengan 'tag' nsca_check_disk
. Syslog menanganinya dari sana. Karena sistem ini (CentOS dan FreeBSD) sudah memiliki mekanisme rotasi log bawaan, saya tidak perlu khawatir tentang log seperti /var/log/mycustom.log
mengisi disk.
*/5 * * * * root /usr/local/nagios/sbin/nsca_check_disk 2>&1 | /usr/bin/logger -t nsca_check_disk
/var/log/messages sekarang memiliki satu pesan tambahan yang mengatakan ini:
Apr 29, 17:40:00 192.168.6.19 nsca_check_disk: 1 data packet(s) sent to host successfully.
Saya suka /usr/bin/logger , karena bekerja dengan baik dengan konfigurasi dan infrastruktur syslog yang ada, dan disertakan dengan sebagian besar distro Unix. Sebagian besar distribusi *nix sudah melakukan rotasi log dan melakukannya dengan baik.
Solusi 2:
Pipa output melalui logger.
0 * * * * root /usr/local/nagios/sbin/nsca_check_disk | logger -p local0.notice
Edit: Sepertinya pembaruan Anda sudah tepat.