Solución 1:
En el proceso de escribir esta pregunta, me respondí a mí mismo. Así que me responderé "al estilo Jeopardy". Esto amplía la respuesta proporcionada por Dennis Williamson.
Lo siguiente enviará cualquier salida de Cron a /usr/bin/logger
(incluyendo stderr, que se convierte a stdout usando 2>&1
), que se enviará a syslog, con una 'etiqueta' de nsca_check_disk
. Syslog lo maneja desde allí. Dado que estos sistemas (CentOS y FreeBSD) ya tienen mecanismos de rotación de registros incorporados, no necesito preocuparme por un registro como /var/log/mycustom.log
llenando un disco.
*/5 * * * * root /usr/local/nagios/sbin/nsca_check_disk 2>&1 | /usr/bin/logger -t nsca_check_disk
/var/log/messages ahora tiene un mensaje adicional que dice esto:
Apr 29, 17:40:00 192.168.6.19 nsca_check_disk: 1 data packet(s) sent to host successfully.
Me gusta /usr/bin/logger porque funciona bien con una infraestructura y una configuración de syslog existentes, y se incluye con la mayoría de las distribuciones de Unix. La mayoría de las distribuciones *nix ya hacen rotación de registros y lo hacen bien.
Solución 2:
Canalice la salida a través del registrador.
0 * * * * root /usr/local/nagios/sbin/nsca_check_disk | logger -p local0.notice
Editar: Su actualización parece ser el camino correcto a seguir.