Řešení 1:
Během psaní této otázky jsem si odpověděl sám. Takže si odpovím "Jeopardy-style". Toto rozšiřuje odpověď, kterou poskytl Dennis Williamson.
Následující odešle jakýkoli výstup Cron na /usr/bin/logger
(včetně stderr, který je převeden na stdout pomocí 2>&1
), který se odešle na syslog s 'značkou' nsca_check_disk
. Syslog to řeší odtud. Protože tyto systémy (CentOS a FreeBSD) již mají vestavěné mechanismy rotace protokolů, nemusím se starat o protokol jako /var/log/mycustom.log
zaplnění disku.
*/5 * * * * root /usr/local/nagios/sbin/nsca_check_disk 2>&1 | /usr/bin/logger -t nsca_check_disk
/var/log/messages má nyní jednu další zprávu, která říká toto:
Apr 29, 17:40:00 192.168.6.19 nsca_check_disk: 1 data packet(s) sent to host successfully.
Líbí se mi /usr/bin/logger , protože dobře funguje se stávající konfigurací syslog a infrastrukturou a je součástí většiny unixových distribucí. Většina distribucí *nix již rotaci protokolů provádí a dělá to dobře.
Řešení 2:
Výstup proveďte přes logger.
0 * * * * root /usr/local/nagios/sbin/nsca_check_disk | logger -p local0.notice
Upravit: Vaše aktualizace vypadá jako správná cesta.