Начать
Документация

Мониторинг cron-джобов

Cron молчит одинаково и когда задача отработала, и когда её не запустили. Этот гайд — путь от строчки в crontab до алерта в Telegram, за один заход.

Как это устроено

Мы не ходим на ваш сервер и не просим доступов. Наоборот: задача сама сообщает, что отработала — обычным HTTP-запросом на свой уникальный адрес. Такой сигнал называют heartbeat («пульс»).

Дальше считает сервис: если пинг не пришёл в срок, чек становится late, затем down, и уходит алерт. Отсюда важное следствие — узнаёте вы не только про упавшую задачу, но и про не запущенную: про сломанный cron, забитый диск, выключенную виртуалку.

Шаг 1. Создайте чек

В дашбордеНовый чек. Заполнить нужно немного:

Grace задаётся от 0 до 30 дней. Ориентир: примерно вдвое больше обычного времени выполнения задачи — тогда редкий медленный прогон не поднимет ложный алерт.

Шаг 2. Добавьте одну строчку в crontab

После сохранения чек показывает свой ping-URL. Допишите вызов curl в вашу cron-строку — после самой задачи и через &&, чтобы сигнал уходил только при успешном завершении:

30 2 * * * /usr/local/bin/backup.sh && curl -fsS -m 10 --retry 3 -o /dev/null https://ping.cronalive.com/<uuid>

Каждый флаг здесь по делу:

Подробнее про таймауты, фоновый запуск и поведение при недоступности сервиса — Надёжность пингов. Готовые сниппеты для bash, Python, Node, PHP, Laravel, systemd и GitHub Actions — на странице Сниппеты.

Шаг 3. Проверьте первый пинг

Не ждите ночи — дёрните строчку руками. Чек перейдёт из new в up, и на его странице появятся время последнего пинга, следующий дедлайн и запись в журнале.

curl -fsS -m 10 -o /dev/null https://ping.cronalive.com/<uuid>

Если пинг не отражается: проверьте, что в crontab абсолютный путь к curl (у cron другой PATH) и что символ % в строке экранирован — в crontab он означает перевод строки.

Шаг 4. Подключите алерты

Чек без канала уведомлений бесполезен: он будет исправно краснеть в дашборде, куда вы не смотрите. В карточке чека видно, куда уйдут алерты; настраиваются каналы в разделе Интеграции.

Что происходит, когда задача падает

Дедлайн пропущен — чек становится late, а по истечении grace — down. Смена статуса попадает в ленту событий с причиной:

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

Пока чек остаётся в down, приходят напоминания через настроенные интервалы. Первый же успешный пинг вернёт чек в up и отправит уведомление о восстановлении.

Дальше