Cron

避免來自 cron 作業的日誌噪音 - 使用 syslog-ng 而不是 syslog

  • June 1, 2013

在我的小型 Debian 擠壓網路伺服器上,我安裝了 syslog-ng(不是syslogd,就像在這個問題中一樣)。一般來說,我的日誌很好,很安靜,有

-- MARK -- 

線。我的/var/log/syslog,然而,到處都是這個

Sep 23 23:09:01 bookchin /USR/SBIN/CRON[24885]: (root) CMD (  [ -x /usr/lib/php5/maxlifetime ] && [ -d /var/lib/php5 ] && find /var/lib/php5/ -type f -cmin +$(/usr/lib/php5/maxlifetime) -delete > /dev/null)
Sep 23 23:09:01 bookchin /USR/SBIN/CRON[24886]: (root) CMD (  [ -d /var/lib/php4 ] && find /var/lib/php4/ -type f -cmin +$(/usr/lib/php4/maxlifetime) -print0 | xargs -r -0 rm > /dev/null)
Sep 23 23:17:01 bookchin /USR/SBIN/CRON[24910]: (root) CMD (   cd / && run-parts /etc/cron.hourly)

一種垃圾。避免它的干淨方法是什麼(再次使用 syslog-ng)?

對於 syslog-ng,它與正常 syslog 略有不同:您需要將 cron 添加到與/var/log/syslog. 在/etc/syslog-ng/syslog-ng.conf中,替換為:

filter f_syslog3 { not facility(auth, authpriv, mail) and not filter(f_debug); };

和:

filter f_syslog3 { not facility(cron, auth, authpriv, mail) and not filter(f_debug); };

你就完成了。

另一種選擇是防止 cron 記錄除錯誤以外的任何內容:

改變/etc/default/cron

 # Or, to log standard messages, plus jobs with exit status != 0:
 # EXTRA_OPTS='-L 5' 
 #
 # For quick reference, the currently available log levels are:
 #   0   no logging (errors are logged regardless)
 #   1   log start of jobs
 #   2   log end of jobs
 #   4   log jobs with exit status != 0
 #   8   log the process identifier of child process (in all logs)
 #
 EXTRA_OPTS="-L 0"

預設情況下,EXTRA_OPTS 行是“”

附錄:

有人錯誤地編輯了這個答案,使它看起來好像-L 0會阻止 cron “一起”記錄。這是不正確的。請注意0我發布的文字中的描述:

#   0 no logging (errors are logged regardless)

或者只使用 4:

 #   4   log jobs with exit status != 0

OP 希望在啟動 cron 作業時每分鐘都避免出現日誌消息。僅記錄錯誤或錯誤和非零退出狀態是一個不錯的選擇。

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