Тестер и Валидатор Cron Выражений

Проверка и визуализация расписания Cron. Расчет следующих запусков и перевод сложных выражений на понятный язык.

EN TR RU

Ввод

Cron

Вывод

Укрощение Демона: Разбор синтаксиса Cron

Для системных администраторов и DevOps-инженеров Cron — это главный инструмент автоматизации. Но написание выражений вроде `*/15 0 1,15 * 1-5` часто вызывает сомнения даже у профессионалов. Ошибка в одном символе может привести к тому, что "тяжелый" скрипт бэкапа запустится в разгар рабочего дня вместо ночи. Наш Тестер Cron — это песочница для ваших задач. Введите выражение, и мы покажем, валидно ли оно, переведем его на человеческий язык (например, "Каждые 15 минут по будням") и подсветим возможные логические ошибки.

Проверка будущего: Расчет следующих запусков

Теория — это хорошо, но практика важнее. Наш инструмент генерирует список "Следующих 5 запусков" (Next Execution Dates) на основе вашего выражения. Это позволяет визуально проверить сложные сценарии, такие как "Каждую пятницу 13-го числа" или "Каждые 3 часа с 9 до 18". Вы увидите точные даты и время, что поможет избежать накладок (overlap) между задачами и убедиться, что расписание соответствует бизнес-требованиям, учитывая високосные годы и разную длину месяцев.

Спецсимволы и подводные камни

Синтаксис Cron богат операторами: дробь (`/`) для шага, запятая (`,`) для перечисления и дефис (`-`) для диапазонов. Частая ошибка новичков — путаница между "каждые N минут" (`*/N`) и "в N минут" (`N`). Также важно помнить о различиях между системным (Linux) и прикладным (Quartz/Spring) планировщиками. Наш валидатор поддерживает оба стандарта, предупреждая о несовместимых символах (например, использовании `?` или `L` в стандартном crontab), и помогает адаптировать выражение под нужную среду.

FAQ
Это 5 полей стандартного cron: Минуты, Часы, День месяца, Месяц, День недели. Выражение `* * * * *` означает "Выполнять задачу каждую минуту".
Используйте выражение `0 0 * * *`. Это означает "0-я минута 0-го часа каждый день". Если написать `* 0 * * *`, скрипт будет запускаться каждую минуту с 00:00 до 00:59!
Тестер проверяет синтаксис времени. Если задача не запускается, проверьте: права на исполнение файла (`chmod +x`), абсолютные пути в скрипте (cron не знает вашего `$PATH`) и наличие символа новой строки в конце файла crontab.
В стандартном cron это сложно и требует проверки внутри скрипта (`[ "$(date +%d -d tomorrow)" = "01" ]`). В планировщиках типа Quartz можно просто использовать символ `L` в поле дня месяца.
По умолчанию Cron использует системное время сервера (обычно UTC). Если вам нужно запускать задачу по локальному времени (например, МСК), учтите смещение или настройте `TZ` переменную в crontab, если система это поддерживает.