Debian

如何防止 cron 填滿我的系統日誌?

  • October 25, 2018

我有一個腳本需要每分鐘執行一次。問題是 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 建議的修復最適合我的情況,因為:

  1. /var/log/syslog不會被 cron 消息弄得亂七八糟
  2. 我仍然收到 cron 消息(這對故障排除很有幫助)
  3. 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
}

引用自:https://serverfault.com/questions/31334