Home » Linux » Debian » Debian включение логов cron

Debian включение логов cron

С удивлением на днях обнаружил, что в Debian по-умолчанию нет отдельного файла логов cron. Он все пишет в общий файл логов /var/log/syslog Мне показалось это неудобным, когда нужно было отладить работу нескольких скриптов, работающих по расписанию.

Если у вас есть желание научиться администрировать системы на базе Linux, рекомендую познакомиться с онлайн-курсом «Linux для начинающих» в OTUS. Курс для новичков, для тех, кто с Linux не знаком. Подробная информация.

Если у вас еще не настроен сервер с Debian, рекомендую мои материалы на эту тему:

Для исправления ситуации и вынесения логов в отдельный файл нужно сделать следующее. Открываем и редактируем файл /etc/rsyslog.conf

# mcedit /etc/rsyslog.conf

Ищем строку:

cron.*                                  /var/log/cron.log

И раскомментируем ее. Если такой нет, то добавляем. Чтобы логи не писались в общий файл, ищем строку с

*.*

и добавляем туда cron.none. Должно получиться так:

*.*;auth,authpriv.none,cron.none        -/var/log/syslog

После этого перезапускаем rsyslog и cron:

# systemctl restart rsyslog
# systemctl restart cron

Проверяем, появился ли файл с логом.

# ls -l /var/log/cron.log
-rw-r----- 1 root adm 159 Aug 12 14:53 /var/log/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
		/usr/lib/rsyslog/rsyslog-rotate
	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
/var/log/cron.log
/var/log/debug
/var/log/messages
{
	rotate 4
	weekly
	missingok
	notifempty
	compress
	delaycompress
	sharedscripts
	postrotate
		/usr/lib/rsyslog/rsyslog-rotate
	endscript
}

Теперь файл логов cron будет ротироваться как и все остальные системные логи. На этом настройка логов cron на Debian закончена.

Если у вас есть желание научиться администрировать системы на базе Linux, но вы с ними никогда не работали и не знакомы, то рекомендую начать с онлайн-курса «Linux для начинающих» в OTUS. Курс для новичков, для тех, кто с Linux не знаком. Цена за курс минимальная (символическая). Информация о курсе и цене.
Не понравилась статья и хочешь научить меня администрировать? Пожалуйста, я люблю учиться. Комментарии в твоем распоряжении. Расскажи, как сделать правильно!

Помогла статья? Подписывайся на telegram канал автора

Анонсы всех статей, плюс много другой полезной и интересной информации, которая не попадает на сайт.

Автор Zerox

Владимир, системный администратор, автор сайта. Люблю настраивать сервера, изучать что-то новое, делиться знаниями, писать интересные и полезные статьи. Открыт к диалогу и сотрудничеству. Если вам интересно узнать обо мне побольше, то можете послушать интервью. Запись на моем канале - https://t.me/srv_admin/425 или на сайте в контактах.

9 комментариев

  1. а все я нашел они убарил rsyslog он устаревший и я нашел логи в journalctl -f но они какието убогие и надо изучать многочто в интеренет даже не скажут!

    • Можно вернуть обратно старый формат логов:
      # apt install rsyslog
      И всё будет как раньше.

  2. sudo systemctl status rsyslog
    Unit rsyslog.service could not be found.

  3. Уже нет файла /et/rsyslog в debian всё поменяли и что теперь делат

  4. нужно перед -/var/log/cron.log поставить тире

  5. у меня cron.log не появился после ни после рестарта крона ни после общей перезагрузки((( дебиан

  6. Deb 8.6 У меня cron.log появился только после рестарта сервиса крон.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Нажимая кнопку "Отправить комментарий" Я даю согласие на обработку персональных данных.
Используешь Telegram? Подпишись на канал автора →
This is default text for notification bar