Генератор cron-выражений
Расписание словами и ближайшие запуски для crontab, Spring, Hangfire и Quartz
Поля
Ближайшие запуски
Поддерживаются *, списки через запятую, диапазоны 1-5, шаг */15,
названия JAN–DEC и SUN–SAT, сокращения
@daily, @hourly и другие. В форматах с секундами и Quartz — ещё
L, W, # и ?.
Как читать cron-выражение
Cron-выражение — строка из нескольких полей через пробел. Каждое поле ограничивает
одну единицу времени: минуты, часы, день месяца, месяц, день недели. Звёздочка
означает «любое значение», */10 — «каждые десять», 1-5 — диапазон,
а 1,15 — перечисление.
Страница переводит выражение в обычную фразу и показывает, когда задача сработает
в ближайшие разы. Так удобно проверить расписание до того, как добавлять его в crontab,
Kubernetes CronJob, GitHub Actions, Spring @Scheduled, Hangfire или Quartz.
Частые вопросы
Чем отличаются форматы с 5, 6 и 7 полями?
Классический crontab в Linux — 5 полей: минуты, часы, день месяца, месяц и день недели. Spring, Hangfire и node-cron добавляют в начало секунды — получается 6 полей. Quartz тоже начинается с секунд и может иметь седьмое поле — год.
Почему задача с днём месяца и днём недели запускается чаще, чем ожидалось?
Если в crontab заданы оба поля, например 0 0 1 * 1, задача сработает и 1-го числа, и в каждый понедельник: хватает любого совпадения. Quartz такого не допускает и требует знак ? в одном из полей.
Как в Quartz нумеруются дни недели?
В Quartz 1 — воскресенье, 7 — суббота. В crontab и Spring 0 и 7 — воскресенье, 1 — понедельник. Названия SUN–SAT одинаковы везде, поэтому с ними проще не ошибиться.
В каком часовом поясе сработает задача?
В часовом поясе сервера или того, что указан в настройках планировщика. Выберите его в списке, чтобы увидеть ближайшие запуски именно там. Время, которое пропускается при переходе на летнее время, в списке не показывается.
Выражение отправляется на сервер?
Нет. Разбор и расчёт запусков выполняются в браузере.