Дополнительно
Где находится журнал cron / crontab?
Я хочу проверить, выполняется ли мое задание cron и в какое время. Я полагаю, что существует журнал для моих заданий sudo crontab -e
, но где?
Я искал в Google и нашел рекомендации искать в /var/log
(в котором я не вижу ничего с "cron" в имени) и редактировать файл /etc/syslog.conf
, которого у меня тоже нет.
764
10
При установке по умолчанию задания cron регистрируются по адресу
Вы можете увидеть все задания cron в этом журнале, выполнив следующие действия
Если вы ничего не переконфигурировали, записи будут там.
Вы можете создать файл cron.log, содержащий только записи CRON, которые отображаются в syslog. Обратите внимание, что задания CRON все равно будут отображаться в syslog, если вы выполните следующие указания.
Откройте файл
Найдите строку, которая начинается с:
Откомментируйте эту строку, сохраните файл и перезапустите rsyslog:
Теперь вы должны увидеть файл журнала cron здесь:
Теперь активность Cron будет записываться в этот файл (в дополнение к syslog).
Обратите внимание, что в cron.log вы увидите записи о том, когда cron выполнял скрипты в /etc/cron.hourly, cron.daily и т.д. - например, что-то вроде:
Однако вы не увидите дополнительной информации о том, какие скрипты были запущены внутри /etc/cron.daily или /etc/cron.hourly, если только эти скрипты не направляют вывод в журнал cron.log (или, возможно, в какой-либо другой файл журнала).
Если вы хотите проверить, запущен ли кронтаб, и не искать его в cron.log или syslog, создайте кронтаб, который перенаправляет вывод в выбранный вами файл журнала - что-то вроде:
Это перенаправит весь стандартный вывод и ошибки, которые может выдать запущенный скрипт, в указанный файл журнала.
Иногда может быть полезно постоянно контролировать его, в таком случае:
Вы также можете направить вывод на отдельные задачи cron на свои собственные журналы для лучшей читаемости, вам просто нужно добавить вывод даты где-то.
Если у вас есть
systemd в
установленных на вашей системе, можно отобразить журнал cron задания с помощью команды journalctl`.Например, на моей Убунту 17.10:
Это очень старый вопрос, но ни один из этих ответов, кажется удовлетворительным.
Сначала сделать задание cron запуск каждую минуту, а затем запустить хрон как недемона (временно, просто убить любого crond, что может уже начали) с тест входа:
crond -в NX тест
И просмотр журнала выполнения программы, протекающей через ваш терминал.
Он находится в каталоге/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 уровень будет показывать ошибок и окончания времени, а также.
Fedoar 29 и RHEL 7
Из journalctl` руководство:
Можно перенаправить вывод cron в файл tmp
Такие как: 00 11 07 /бин/Баш /home/ubuntu/command.sh > в /tmp/выход 2>&1
Ошибки и нормальный выход, как будете переадресованы на один и тот же файл
Как уже упоминалось ранее, хрон рабочих мест регистрируются в
в/var/журнал/системный журнал
Вы можете передать syslog на grep и фильтрации хрон журналы, как это
Вы можете искать через ваши журналы crontab, как это
Вы можете искать через ваши журналы кронтаб истории, хранящейся в GZ файлы, как это
Его всегда считали хорошим, чтобы иметь механизм сбора данных, вы можете быстро настроить лось для вашего сервера, вы также можете поэкспериментировать с logz .