OpenReplay Logo
12k
12k

Анализатор выражений Cron

Разбирайте любое cron-выражение на понятный язык, просматривайте ближайшие запуски и составляйте расписания поле за полем — всё в вашем браузере.

Следующие 5 запусков
Разбор по полям
Создать выражение

Распространённые шаблоны

Конструктор по полям

Обрабатывается локально
* * * * *

Об этом инструменте

Cron-выражение — это компактная строка расписания, используемая cron в Unix, CronJob в Kubernetes, CI-конвейерами и большинством планировщиков задач. Оно состоит из пяти полей, разделённых пробелами — минута, час, день месяца, месяц и день недели — с необязательным шестым ведущим полем для секунд. Каждое поле принимает подстановочный символ (*), одиночное значение, список (1,15,30), диапазон (9-17) или шаг (*/15, 0-12/3), а поля месяца и дня недели также принимают имена вроде JAN или MON. Этот парсер раскрывает каждое поле до его конкретных значений, разрешает сокращения @yearly, @monthly, @weekly, @daily и @hourly и трактует 7 как воскресенье наравне с 0.

Используйте его, чтобы убедиться, что задача развёртывания действительно срабатывает каждый будний день в 9 утра, разобраться, почему резервное копирование никогда не запускается, или с одного взгляда прочитать загадочное */15 9-17 * * 1-5 от коллеги. Панель «Next 5 runs» вычисляет предстоящие моменты срабатывания в вашем локальном часовом поясе или в UTC, корректно применяя правило OR стандартного cron, когда ограничены и день месяца, и день недели, и аккуратно перепрыгивая через високосные годы для расписаний вроде 0 0 29 2 *. Предустановки конструктора и элементы управления по каждому полю Every / At / Range / Step составляют корректное выражение в реальном времени, позволяя вам создать расписание, не запоминая синтаксис.

Расширения, свойственные только Quartz (L, W, # и ?), не являются стандартным cron и отклоняются с понятным сообщением, а не разбираются неверно.

Часто задаваемые вопросы

Что означает cron-выражение */15 9-17 * * 1-5?

Оно запускается каждые 15 минут (в :00, :15, :30 и :45) в часы с 09:00 до 17:59, с понедельника по пятницу. */15 — это шаг по полю минут, 9-17 — это диапазон часов, а 1-5 охватывает будние дни с понедельника по пятницу.

В cron день недели для воскресенья — это 0 или 7?

И 0, и 7 означают воскресенье в стандартном cron, поэтому SUN, 0 и 7 взаимозаменяемы. Поле дня недели идёт от 0 (воскресенье) до 6 (суббота), причём 7 принимается как псевдоним воскресенья.

Как cron обрабатывает случай, когда заданы и день месяца, и день недели?

Когда поля дня месяца и дня недели оба ограничены (ни одно не является *), стандартный cron использует семантику OR: задача запускается, если совпадает любое из полей. Так, 0 0 13 * 5 срабатывает 13-го числа каждого месяца и каждую пятницу.