Debian включение логов cron
С удивлением на днях обнаружил, что в Debian по-умолчанию нет отдельного файла логов cron. Он все пишет в общий файл логов /var/log/syslog Мне показалось это неудобным, когда нужно было отладить работу нескольких скриптов, работающих по расписанию.
Для исправления ситуации и вынесения логов в отдельный файл нужно сделать следующее. Открываем и редактируем файл /etc/rsyslog.conf
# mcedit /etc/rsyslog.conf
Ищем строку:
cron.* /var/log/cron.log
И раскомментируем ее. Если такой нет, то добавляем. Чтобы логи не писались в общий файл, ищем строку с
*.*
и добавляем туда cron.none. Должно получиться так:
*.*;auth,authpriv.none,cron.none -/var/log/syslog
После этого перезапускаем rsyslog:
# service rsyslog restart
Проверяем, создался ли файл:
# cd /var/log # ls -l | grep cron -rw-r----- 1 root adm 140479 Апр 20 17:20 cron.log
Все в порядке, теперь надо настроить ротацию этого файла. Редактируем файл /etc/logrotate.d/rsyslog
# mcedit /etc/logrotate.d/rsyslog
Раскомментируем или добавим, если у вас нет строчку /var/log/cron.log Файл должен выглядеть примерно так:
/var/log/syslog { rotate 7 daily missingok notifempty delaycompress compress postrotate invoke-rc.d rsyslog rotate > /dev/null endscript } /var/log/mail.info /var/log/mail.warn /var/log/mail.err /var/log/mail.log /var/log/daemon.log /var/log/kern.log /var/log/auth.log /var/log/user.log /var/log/lpr.log <strong>/var/log/cron.log</strong> /var/log/debug /var/log/messages { rotate 4 weekly missingok notifempty compress delaycompress sharedscripts postrotate invoke-rc.d rsyslog rotate > /dev/null endscript }
Теперь файл логов cron будет ротироваться как и все остальные системные логи. На этом настройка логов cron на Debian закончена.
Найдена информация на сайте serveradmin.ru .