🐧 Как проверить логи Crontab на Linux

Как найти логи crontab

by itisgood

Как пользователь Linux, вы, вероятно, уже знакомы с crontab.

Вы можете автоматизировать задачи, запуская команды и скрипты по заданному расписанию.

Хотите автоматически создавать резервные копии?

Crontab – вам в этом поможет.

Здесь я не буду углубляться в использование crontab.

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

Это поможет выяснить, выполнились ли ваши cronjobs по расписанию или нет.

Метод 1: Проверим syslog на наличие записей crontab

Согласно иерархии каталогов Linux, в каталоге /var/log в Linux хранятся логи системы, служб и запущенных приложений.

Хотя журналы cron также находятся в этом каталоге, стандартного файла для этих журналов не существует. Разные дистрибутивы хранят их в разных файлах.

🐧 Руководство для начинающих по системным логам в системах Linux

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

cat /var/log/syslog | grep -w 'cron'

После выполнения вышеуказанной команды вы увидите в терминале список всех заданий cron.

Команда grep отфильтрует сообщения, связанные с cron, от остальных.

Для дистрибутивов на базе RedHat логи cron находятся в специальном файле /var/log/cron.

В обоих случаях для доступа к журналам вам, вероятно, потребуется указать ключевое слово sudo или использовать учетную запись root.

Метод 2: Использование пользовательского файла логов (рекомендуется)

Рекомендуется использовать отдельный пользовательский файл для регистрации заданий cron.

Для этого вы можете настроить ‘rsyslog’ для пересылки журналов cron.

Rsyslog – это служба Linux, которая имеет функции, аналогичные протоколированию Syslog.

Просто создайте файл cron.log в каталоге /etc/rsyslog.d:

touch /var/log/cron.log

Теперь откройте для редактирования файл /etc/rsyslog.d/50-default.conf:

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

и найдите строку, начинающуюся с #cron.* и удалите # в начале строки.

Чтобы изменения заработали, сохраните и закройте этот файл и, наконец, перезапустите службу rsyslog и проверьте ее состояние:

sudo systemctl restart rsyslog
sudo systemctl status rsyslog

Статус службы должен быть выделен как active (running).

Метод 3: Использование специальных служб, такиъ как Cronitor, для мониторинга заданий cron

Cronitor – это служба, которую можно развернуть для мониторинга любого типа заданий cron.

Многие версии cron начинают вести журнал при выполнении запланированного задания или при возникновении проблем с crontab.

Однако, выход из задания cron или статус его завершения не регистрируется.

Здесь на помощь приходит Cronitor, который работает идеально.

Это комплексное решение для всех ваших потребностей в crontab.

🐧 Обзор средств мониторинга и управления логами с открытым исходным кодом для Linux

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

Все это можно увидеть через веб-интерфейс.

Для Cronitor или CronitorCLI, установленных на Kubernetes, журналы могут быть записаны в объеме до 100 МБ за одно выполнение.

Другие инструменты и сервисы мониторинга, такие как Better Uptime, также предоставляют возможность автоматического мониторинга заданий cron.

🐧 Как использовать journalctl для анализа логов на Linux

Заключение

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

Syslog хранит журналы, связанные с crontab, однако рекомендуется иметь специальный файл журнала для cron.

Также поможет веб-сервис, например, Cronitor, Better Uptime или Uptime Robot.

см. также:

 

You may also like

Leave a Comment