Генератор выражений Cron и калькулятор следующего запуска — управляйте Cron без угадывания
Синтаксис крона вызывает затруднения даже у опытных разработчиков. Визуальный генератор выражений крона и калькулятор следующего запуска устраняют неопределённость — создавайте выражения без запоминания порядка полей, а затем проверяйте, что они запускаются ровно в тот момент, когда вы ожидаете.
Синтаксис cron — одна из тех вещей, которые разработчики ищут каждый раз. Не потому что он сложен — а потому что пятиполе формат слишком неясен, чтобы вызывать сомнения. Идет ли поле часов перед или после минут? Означает ли это каждые 5 минут или с начала минуты 5? */5 означает каждые 5 минут или с начала минуты 5?
Тег «cron expression» на Stack Overflow содержит более 14 000 вопросов. До того, как учесть несоответствия платформы, которые усугубляют путаницу: Linux cron использует пять полей, Kubernetes использует пять полей с немного иными смыслами, AWS EventBridge добавляет шестое, а планировщики Quartz вводят поле секунд в начало.
Две программы устраняют шум: визуальный генератор cron-выражения, который строит выражения из понятных для человека вводов, и калькулятор следующего запуска, который показывает вам точно, когда ваша задача запустится — без необходимости угадывать.
Повторение синтаксиса cron
Стандартный пятиполе формат cron читается слева направо: минуты, часы, день месяца, месяц, день недели.
* * * * *
│ │ │ │ └── Day of week (0–7, where 0 and 7 = Sunday)
│ │ │ └──── Month (1–12)
│ │ └────── Day of month (1–31)
│ └──────── Hour (0–23)
└────────── Minute (0–59)
Несколько распространённых примеров:
0 2 * * *— каждый день в 2:00 ночи0 9 * * 1— каждый понедельник в 9:00 утра*/15 * * * *Нет конкретного значения (только Quartz/AWS)0 0 1 * *— полночь в первый день каждого месяца
Просто в изоляции. На практике неясность усиливается: является ли это понедельник или воскресенье? Поддерживает ли эта платформа значения шага? Именно здесь генератор и получает свою ценность. 1 Почему платформа поддерживает значения шага и диапазоны — это то, где визуальный генератор действительно выделяется.
Инструмент 1: Генератор cron-выражения
The Генератор выражений Cron превращает абстрактный синтаксис в интерфейс с возможностью нажатия мышью. Установите значения для каждого компонента — минуты, часы, день, месяц, день недели — и инструмент выдаёт выражение. Не нужно запоминать порядок полей, не нужно сомневаться в специальных символах.
Два реальных примера:
Ежедневная резервная копия базы данных в 2 часа ночи
Установите минуты на 0, часы на 2, оставьте день месяца, месяц и день недели как *. Результат: 0 2 * * *. Это запускается ровно в 02:00 каждый день.
Еженедельный отчёт каждый понедельник в 9 утра
Установите минуты на 0, часы на 9, день месяца на *, месяц на *, день недели на 1 (понедельник). Результат: 0 9 * * 1.
Где генератор действительно блестит — это при значениях шага и диапазонах — */5 (каждые 5 минут), 1-5 (понедельник по пятницу), 0,12 (полночь и полдень). Эти комбинации — то, где умственная нагрузка от чистого синтаксиса cron становится недостатком, и визуальный построитель делает логику явной до того, как она достигнет производства.
Инструмент 2: Калькулятор следующего запуска cron
Правильное выражение — это первый шаг. Подтверждение того, что оно запускается в нужное время — второй шаг — и его легко пропустить.
The для проверки того, что запускается вовремя. принимает любое cron-выражение и показывает следующие 10 запланированных моментов запуска, рассчитанные с текущего момента. Вставьте своё выражение и получите результат сразу.
Практическое применение: вы написали 0 9 * * 1-5 думая, что оно работает с понедельника по пятницу в 9 утра. Вставьте это в калькулятор и следующие 10 моментов запуска сразу появятся — это делает очевидным, правильно ли вы указали диапазон. Если вы случайно написали 0 9 * * 0-5 (воскресенье по пятницу вместо), следующий запуск показывает запуск в воскресенье, и вы обнаруживаете ошибку до развертывания.
Это быстрее, чем развертывание задачи, ожидание и проверка журналов — особенно для задач, запланированных раз в неделю или раз в месяц, где неправильное выражение может оставаться незамеченным на протяжении недель.
Различия платформ: Linux, Kubernetes, GitHub Actions и AWS
Здесь cron становится действительно сложным. То же выражение может означать разные вещи — или быть недопустимым — в зависимости от того, какой планировщик его выполняет.
Linux cron (5 полей)
Оригинал. Пять полей: minute hour day month weekday. Настроено через crontab -e. Нет поддержки секунд. День недели: 0 и 7 оба означают воскресенье.
Kubernetes CronJobs (5 полей)
Kubernetes использует тот же пятиполе формат для своего schedule: поля — функционально эквивалентно Linux cron. Значения шага и диапазоны работают одинаково. Он не добавляет поле секунд, несмотря на то, что вы можете прочитать. нет AWS EventBridge / CloudWatch Events (6 полей)
EventBridge использует другой шестиполе формат:
. Поле года является обязательным и не может быть опущено. Также используется minute hour day month weekday yearкогда поле не применимо — вы должны использовать ? вместо * для либо дня месяца, либо дня недели, поскольку указание обоих является неоднозначным. ? GitHub Actions (5 полей, только UTC)
GitHub Actions принимает стандартный пятиполе синтаксис cron в поле
. Все временные значения — в UTC. Минимальный интервал планирования — 5 минут, и запланированные задачи могут запускаться позже, чем запланировано, в периоды высокой нагрузки на инфраструктуру GitHub. schedule: Quartz / Spring Scheduler (6–7 полей)
Java-ориентированные планировщики, такие как Quartz и Spring Scheduling, добавляют поле
в начало: секунды . Это означает, что second minute hour day month weekday [year]запускается каждые 5 секунд — а не каждые 5 минут. Просто легко запутаться, если вы переключаетесь между Java и Linux cron. 0/5 * * * * ? срабатывает каждые 5 секунд — а не каждые 5 минут. Легко запутаться, если вы переключаетесь между Java и cron на Linux.
Общие паттерны cron
| Случаи использования | Каждый день в 9:00 утра | Когда запускается |
|---|---|---|
| Каждые 15 минут | */15 * * * * | :00, :15, :30, :45 каждый час |
| Ежедневно в полночь | 0 0 * * * | Каждый день, 00:00 |
| Ежедневная резервная копия в 2 часа ночи | 0 2 * * * | Каждый день, 02:00 |
| Понедельник–пятница в 9 утра | 0 9 * * 1-5 | Пн–Пт, 09:00 |
| Еженедельная очистка (воскресенье в полночь) | 0 0 * * 0 | Воскресенья, 00:00 |
| Первый день месяца в полдень | 0 12 1 * * | 1-е каждого месяца, 12:00 |
| Каждый час | 0 * * * * | Каждый час в начале |
| Два раза в день | 0 8,20 * * * | 08:00 и 20:00 ежедневно |
Установите наши расширения
Добавьте инструменты ввода-вывода в свой любимый браузер для мгновенного доступа и более быстрого поиска
恵 Табло результатов прибыло!
Табло результатов — это интересный способ следить за вашими играми, все данные хранятся в вашем браузере. Скоро появятся новые функции!
Подписаться на новости
все Новые поступления
всеОбновлять: Наш последний инструмент был добавлен 16 Июня 2026
