Full Human Tools

Cron-выражение

Разбор cron-выражений с объяснением каждого поля и ближайшими запланированными запусками

Минута
0
Час
0
День месяца
*
Месяц
*
День недели
*

Объяснение

Каждый день в полночь

Следующие запланированные запуски

—

Распространенные примеры

Поля cron

ПолеДопустимые значенияОписание
Минута0-59Минута, когда будет выполнена команда (0-59)
Час0-23Час, когда будет выполнена команда (0-23)
День месяца1-31День месяца, когда будет выполнена команда (1-31)
Месяц1-12Месяц, когда будет выполнена команда (1-12)
День недели0-6День недели, когда будет выполнена команда (0-6, Воскресенье=0)

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

Звездочка (*)

Соответствует любому значению в поле

Запятая (,)

Указывает список значений (напр. 1,3,5)

Дефис (-)

Указывает диапазон значений (напр. 1-5)

Косая черта (/)

Указывает шаговые значения (напр. */15 для каждых 15)

01

Что такое cron-выражение

Cron-выражение — это расписание из пяти полей через пробел: минута, час, день месяца, месяц и день недели. Cron и многие планировщики задач используют его, чтобы запускать задачи в заданное время, от каждой минуты до раза в год. Например, 30 2 * * * означает 02:30 каждый день. Синтаксис компактный, и поэтому его легко прочитать неправильно.

Инструмент понимает стандартный формат из 5 полей, разбирает выражение поле за полем и показывает 5 ближайших запусков в вашем часовом поясе. Он принимает числа, звёздочки, списки, диапазоны и шаги. Quartz и Spring используют 6 полей, первое из которых — секунды: удалите его перед вставкой. Названия вроде MON не поддерживаются.

02

Как читать cron-выражение

  1. Введите или вставьте выражение из пяти полей либо выберите готовый пример.
  2. Прочитайте объяснение, чтобы понять, чему соответствует каждое поле.
  3. Посмотрите следующие запланированные запуски в вашем местном времени.
  4. Измените поле и посмотрите, как обновляются объяснение и время запусков.
  5. Скопируйте выражение, когда оно делает то, что нужно.

03

Cron-выражения: частые вопросы

Что означает */5 в cron?
Косая черта задаёт шаг. */5 в поле минут означает каждые 5 минут, начиная с минуты 0: 0, 5, 10 и так далее до 55. Шаг можно ставить и после диапазона: 0-30/10 означает минуты 0, 10, 20 и 30. В поле часов */6 означает каждые 6 часов: 00:00, 06:00, 12:00 и 18:00.
Как запускать cron каждый понедельник в 9:00?
Используйте 0 9 * * 1. Поля читаются так: минута 0, час 9, любой день месяца, любой месяц и день недели 1, то есть понедельник. Воскресенье — 0, а многие версии cron принимают для воскресенья и 7. Чтобы запускать задачу по будням в 9:00, используйте 0 9 * * 1-5.
В каком часовом поясе работает cron?
Классический cron запускает задачи в местном часовом поясе сервера, если не настроено иначе, например через CRON_TZ в некоторых системах. Многие облачные планировщики по умолчанию используют UTC. Ближайшие запуски здесь рассчитываются в часовом поясе браузера, поэтому сверьте их с настройками сервера.
Отправляется ли моё cron-выражение на сервер?
Нет. Выражение разбирается, а время запусков рассчитывается в браузере по часам и часовому поясу вашего устройства. Ничего из введённого не отправляется на сервер и не сохраняется, так что можно вставлять расписания из закрытых crontab и конфигурационных файлов.

04