Как обнаружить ошибку в заданиях cron

Причины, по которым работа cron может потерпеть неудачу, действительно очень велики. Наиболее распространенные причины могут быть,

  • Ошибка синтаксиса
  • Использование исполняемого файла без правильного пути
  • Использование переменной оболочки, которая не определена в среде cron
  • Попытка открыть графический интерфейс без указания DISPLAY

И так далее...

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

2 ответа

Решение

Настройка локальной почты и получение выходных писем cron

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

Если ваша локальная почтовая система не настроена, вы не будете получать эти письма. Письма с выходом задания cron просто умирают в локальной папке спула. Так что вам нужно настроить демона почтовой программы для чтения этих писем. См. Этот ответ на Как читать локальную электронную почту в Thunderbird, чтобы получить все ваши местные письма.

введите описание здесь

Если ваш cronjob не работает, вы получите письмо с указанием причины сбоя. Это один из лучших способов обнаружить ошибку при установке задания cron.

Альтернативные способы

Согласно этому ответу можно получить ошибки cronjob в файле журнала с помощью перенаправления. Но вам нужно установить перенаправление с вашим заданием cron и указать файл журнала самостоятельно.

И /var/log/syslog Файл всегда рядом, чтобы проверить, работает ли ваша задача cron так, как вы ожидали, или нет.

Здесь дан обширный ответ, объясняющий, как заставить систему 16.04 LTS создать отдельный файл cron.log и как создать команду wcron который смотрит это в режиме реального времени.

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

Он также содержит информацию об изменении уровней журнала, чтобы вы могли видеть не только запуск скрипта (по умолчанию), но также время окончания и ошибки.

Это ясно показывает любые ошибки, которые они генерируют.

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