Предотвращение шума журнала от заданий cron - с помощью syslog-ng, а не syslog
На моем маленьком веб-сервере Debian squeeze у меня установлен 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)?
2 ответа
Для 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
ОП хотел избегать сообщения журнала каждую минуту для начала задания cron. Ведение журнала только ошибки или ошибки и ненулевые состояния выхода является хорошим вариантом.