Перейти к содержимому
Cron Truth

Табло правды для задач по расписанию

Задача запустилась или только сказала, что запустилась?

Вставьте crontab и журнал запусков. Cron Truth вычислит каждое окно, обещанное расписанием, сопоставит его с реальным запуском и покажет, что пропущено, опоздало, упало, закончилось подозрительно быстро или наложилось на предыдущий запуск.

ВремяЗадачаСтатус
02:00NIGHTLY-BACKUPПропуск
03:00BILLING-CLOSEСбой
06:15DAILY-REPORTПодозрительно
08:00CRM-SYNCНаложение
08:30PRUNE-TMPЧестно
Демо табло. Каждая строка взята из примера crontab и журнала ниже.

Что это

Бесплатная проверка задач по расписанию. Сравнивает обещания расписания с тем, что на самом деле записано в журнале.

Для кого

Для владельцев бэкенда, SRE, основателей с ночными задачами и поддержки, которой говорят, что отчёт так и не пришёл.

Какую проблему решает

Тихие сбои cron. Задача, которая не стартовала, не оставляет ошибки, а задача, завершившаяся успехом за две секунды, на дашборде выглядит нормально.

Проверка запусков по расписанию

Всё работает в браузере. Ничего из вставленного никуда не отправляется.

Проверять доОкна после этого момента пока не оцениваются.

Проверки ещё не было

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

Ваш crontab и журналы не покидают эту страницу.

Что значат вердикты

Каждая задача получает один вердикт, самое серьёзное, что нашлось в её окнах.

  1. Честно

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

  2. Опоздание

    Запуск пришёл после допуска. Проверьте загрузку сервера или блокировку, которая ждёт.

  3. Наложение

    Запуск начался раньше, чем закончился предыдущий. Добавьте блокировку или сдвиньте расписание.

  4. Пропуск

    Окно прошло вообще без запуска. Проверьте, что демон cron работает, а сервер не спал.

  5. Сбой

    Запуск был, но завершился с кодом ошибки. Посмотрите вывод задачи за это время.

  6. Подозрительно

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

  7. Тишина

    Расписание ждёт запусков, а журнал ни разу не упоминает задачу. Возможно, она вообще не установлена.

Как пользоваться

  1. Вставьте crontab

    Скопируйте вывод crontab -l или настройки планировщика. Комментарий в конце строки задаёт понятное имя задачи.

  2. Вставьте журнал запусков

    Выгрузите из логов задачу, время старта, длительность и код выхода или вставьте строки CRON из syslog.

  3. Выберите часовой пояс

    Укажите пояс сервера. Строки CRON_TZ в crontab меняют его для всех строк ниже.

  4. Прочитайте табло

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

  5. Поделитесь отчётом

    Скопируйте отчёт в обсуждение инцидента, чтобы разговор начинался с фактов.

Полезно знать

  • Каждая задача проверяется с её первого запуска в журнале, поэтому короткий журнал не создаёт ложных пропусков.
  • Строки CRON из syslog показывают только старт, сбои и длительность по ним не видны.
  • Время, которого нет в день перевода часов, пропускается.
  • День месяца и день недели работают как в классическом cron: если заданы оба, достаточно совпадения одного.
  • Это проверка, а не мониторинг. Она не следит за задачами и никого не будит.

Вопросы

Мои данные уходят из браузера?

Нет. Разбор и проверка выполняются на этой странице. Ничего не загружается и не хранится.

Какие форматы журнала подходят?

CSV или столбцы через табуляцию с заголовком, столбцы в порядке задача, старт, длительность, код, строки, строки, начинающиеся с даты, и строки CRON из syslog.

Как строка журнала связывается с задачей?

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

Почему запуск с кодом 0 помечен как подозрительный?

Потому что он завершился быстрее десятой части обычного времени или сообщил о нуле строк. Многие сломанные задачи спокойно завершаются, ничего не сделав.

Связаться с автором

Есть вопрос, идея или предложение о работе? Напишите в X или Telegram.

Поддержать автора

Если инструмент сэкономил вам время, можно отправить чаевые на этот EVM адрес из своего кошелька.

0xd28Fd90eD69092bd01598f237aad33a0cc9c3EeA