Где крон / crontab журнал?

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

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

768
задан 16 March 2017 в 07:45

14 ответов

На стандартной установке задания крона зарегистрированы к

/var/log/syslog

Вы видите просто задания крона в том файле журнала путем выполнения

 grep CRON /var/log/syslog

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

915
ответ дан 22 November 2019 в 22:31

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

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

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

Найдите строку, которая запускается с:

#cron.*

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

sudo service rsyslog restart

Необходимо теперь видеть файл журнала крона здесь:

/var/log/cron.log

Действие крона будет теперь зарегистрировано в этот файл (в дополнение к системному журналу).

Обратите внимание в cron.log наблюдение записей для того, когда крон запустил скрипты в/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 (или возможно к некоторому другому файлу журнала).

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

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

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

242
ответ дан 22 November 2019 в 22:31

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

tail -f /var/log/syslog | grep CRON
82
ответ дан 22 November 2019 в 22:31

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

 0 15 * * *    /home/andrew/daily-backup.sh >> /var/log/daily-backup.log 2>&1
37
ответ дан 22 November 2019 в 22:31

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

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

crond -nx test

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

9
ответ дан 22 November 2019 в 22:31

Это находится в /var/log/syslog по умолчанию.

Но это может быть настроено для создания отдельного cron.log, который более полезен.

Это Вопросы и ответы описывает процесс:

16.04: Как я заставляю крон создать cron.log и контролирую его в режиме реального времени?

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

Как измениться, крон регистрируют уровень?

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

8
ответ дан 22 November 2019 в 22:31

Вы могли перенаправить производство крона в tmp файл

Такой как: 00 11 07 * */bin/bash/home/ubuntu/command.sh>/tmp/output 2> &1

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

3
ответ дан 22 November 2019 в 22:31

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

Например, на моей Ubuntu 17.10:

journalctl -u cron.service
11
ответ дан 22 November 2019 в 22:31

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.
5
ответ дан 22 November 2019 в 22:31

Как упомянутый ранее, задания крона зарегистрированы к /var/log/syslog

Можно передать системный журнал по каналу к grep и отфильтровать журналы КРОНА, как это

less /var/log/syslog | grep CRON 

Можно перерыть журналы crontab, как это

less /var/log/syslog | grep CRON | grep <search-keyword-comes-here>

Можно перерыть crontab журналы истории, сохраненные в gz файлах, как это

less /var/log/syslog.2.gz | grep CRON | grep <search-keyword-comes-here>

Его всегда продуманная польза, чтобы иметь регистрирующийся механизм, можно быстро установить ЛОСЯ для серверов, можно также экспериментировать с logz.

2
ответ дан 22 November 2019 в 22:31

Проверьте все журналы, связанные с CRON, в файлах системного журнала, включая сжатые файлы журналов, следующим образом:

zless /var/log/syslog* | grep CRON
2
ответ дан 26 May 2020 в 09:14

Может отличаться в зависимости от типа и версии системы. Но во многих случаях вам нужно выяснить временную основу, на которой работает целевое правило crontab. Так, например, если вы ищете связанный журнал для ежедневного правила crontab, вы найдете журнал, разделенный на разные файлы, по одному на день, в:

$ ls -ltrh /var/log/cron-*

И вы получите файлы журналов.

1
ответ дан 28 October 2020 в 14:38

В Ubuntu 20.04 /var/mail/{user} содержал сообщения cron, которые я искал.

Я не смог найти приличные журналы cron в /var/log/messages.

4
ответ дан 12 January 2021 в 11:48

Я нашел текущие журналы cron в /var/log /хрон и предыдущие журналы в /var/log/cron-date.

1
ответ дан 17 January 2021 в 19:21

Другие вопросы по тегам:

Похожие вопросы: