Debian
如何防止 cron 填滿我的系統日誌?
我有一個腳本需要每分鐘執行一次。問題是 cron
/var/log/syslog
每次執行時都會記錄。我最終看到這樣的事情一遍又一遍地重複/var/log/syslog
:Jun 25 00:56:01 myhostname /USR/SBIN/CRON[1144]: (root) CMD (php /path/to/script.php > /dev/null)
我正在使用 Debian。
我的問題是:有什麼辦法可以告訴 cron 不要每次都將這些資訊寫入系統日誌?
好的,
我的問題的解決方案是:
改變
*.*;auth,authpriv.none -/var/log/syslog
到
*.*;cron,auth,authpriv.none -/var/log/syslog
內
/etc/syslog.conf
然後重新啟動系統日誌我還
/var/log/cron.log
按照 Dave Cheney 的建議發送了 cron 並在其上粘貼了 logrotate。我對 Daves 建議的修復最適合我的情況,因為:
- 它
/var/log/syslog
不會被 cron 消息弄得亂七八糟- 我仍然收到 cron 消息(這對故障排除很有幫助)
- logrotate
/var/log/cron.log
不會變得太大。
您可以將 cron 的輸出發送到單獨的日誌工具,將以下內容添加到您的
/etc/syslog.conf
文件中:# Log cron stuff cron.* /var/log/cron
請記住添加
/var/log/cron
到您的/etc/logrotate.d/syslog
以確保它得到旋轉,例如# /etc/logrotate.d/syslog /var/log/messages /var/log/secure /var/log/maillog /var/log/spooler /var/log/boot.log /var/log/cron { sharedscripts postrotate /bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true endscript }