Где находится журнал cron / crontab?

Я хочу проверить, выполняется ли мое задание cron и в какое время. Я полагаю, что существует журнал для моих заданий sudo crontab -e, но где?

Я искал в Google и нашел рекомендации искать в /var/log (в котором я не вижу ничего с "cron" в имени) и редактировать файл /etc/syslog.conf, которого у меня тоже нет.

При установке по умолчанию задания cron регистрируются по адресу

/var/log/syslog

Вы можете увидеть все задания cron в этом журнале, выполнив следующие действия

 grep CRON /var/log/syslog

Если вы ничего не переконфигурировали, записи будут там.

Комментарии (12)

Вы можете создать файл cron.log, содержащий только записи CRON, которые отображаются в syslog. Обратите внимание, что задания CRON все равно будут отображаться в syslog, если вы выполните следующие указания.

Откройте файл

/etc/rsyslog.d/50-default.conf

Найдите строку, которая начинается с:

#cron.*

Откомментируйте эту строку, сохраните файл и перезапустите rsyslog:

sudo service rsyslog restart

Теперь вы должны увидеть файл журнала cron здесь:

/var/log/cron.log

Теперь активность Cron будет записываться в этот файл (в дополнение к syslog).

Обратите внимание, что в cron.log вы увидите записи о том, когда cron выполнял скрипты в /etc/cron.hourly, cron.daily и т.д. - например, что-то вроде:

Apr 12 14:17:01 cd CRON[14368]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)

Однако вы не увидите дополнительной информации о том, какие скрипты были запущены внутри /etc/cron.daily или /etc/cron.hourly, если только эти скрипты не направляют вывод в журнал cron.log (или, возможно, в какой-либо другой файл журнала).

Если вы хотите проверить, запущен ли кронтаб, и не искать его в cron.log или syslog, создайте кронтаб, который перенаправляет вывод в выбранный вами файл журнала - что-то вроде:

01 14 * * * /home/joe/myscript >> /home/log/myscript.log 2>&1

Это перенаправит весь стандартный вывод и ошибки, которые может выдать запущенный скрипт, в указанный файл журнала.

Комментарии (5)

Иногда может быть полезно постоянно контролировать его, в таком случае:

tail -f /var/log/syslog | grep CRON
Комментарии (1)

Вы также можете направить вывод на отдельные задачи cron на свои собственные журналы для лучшей читаемости, вам просто нужно добавить вывод даты где-то.

 0 15 * * *    /home/andrew/daily-backup.sh >> /var/log/daily-backup.log 2>&1
Комментарии (2)

Если у вас есть systemd в установленных на вашей системе, можно отобразить журнал cron задания с помощью команды journalctl`.

Например, на моей Убунту 17.10:

journalctl -u cron.service
Комментарии (0)

Это очень старый вопрос, но ни один из этих ответов, кажется удовлетворительным.

Сначала сделать задание cron запуск каждую минуту, а затем запустить хрон как недемона (временно, просто убить любого crond, что может уже начали) с тест входа:

crond -в NX тест

И просмотр журнала выполнения программы, протекающей через ваш терминал.

Комментарии (1)

Он находится в каталоге/var/журнал/системного журнала по умолчанию.

Но он может быть настроен, чтобы создать отдельный хрон.журнал, который является более полезным.

Этот Q&a описывает процесс:

https://askubuntu.com/questions/966194/16-04-how-do-i-make-cron-create-cron-log-and-monitor-it-in-real-time/966195#966195

Также в этом ответе есть инструкции по созданию команды wcron`, которая отображает его в режиме почти реального времени. Плюс, это ссылки на другой ответ,

https://askubuntu.com/questions/949996/how-to-change-cron-log-level/

что показывает, как изменить уровень ведения журнала, чтобы включить больше, чем просто начало работы - 15 уровень будет показывать ошибок и окончания времени, а также.

Комментарии (0)

Fedoar 29 и RHEL 7

journalctl -t CROND

Из journalctl` руководство:

   -t, --identifier=SYSLOG_IDENTIFIER|PATTERN
       Show messages for the specified syslog identifier SYSLOG_IDENTIFIER, or for any of the messages with a "SYSLOG_IDENTIFIER" matched by PATTERN.

       This parameter can be specified multiple times.
Комментарии (0)

Можно перенаправить вывод cron в файл tmp

Такие как: 00 11 07 /бин/Баш /home/ubuntu/command.sh > в /tmp/выход 2>&1

Ошибки и нормальный выход, как будете переадресованы на один и тот же файл

Комментарии (0)

Как уже упоминалось ранее, хрон рабочих мест регистрируются в в/var/журнал/системный журнал

Вы можете передать syslog на grep и фильтрации хрон журналы, как это

less /var/log/syslog | grep CRON 

Вы можете искать через ваши журналы crontab, как это

less /var/log/syslog | grep CRON | grep 

Вы можете искать через ваши журналы кронтаб истории, хранящейся в GZ файлы, как это

less /var/log/syslog.2.gz | grep CRON | grep 

Его всегда считали хорошим, чтобы иметь механизм сбора данных, вы можете быстро настроить лось для вашего сервера, вы также можете поэкспериментировать с logz .

Комментарии (0)