Cron-выражение
Разбор cron-выражений с объяснением каждого поля и ближайшими запланированными запусками
Объяснение
Каждый день в полночь
Следующие запланированные запуски
—
Распространенные примеры
Поля 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-выражение
- Введите или вставьте выражение из пяти полей либо выберите готовый пример.
- Прочитайте объяснение, чтобы понять, чему соответствует каждое поле.
- Посмотрите следующие запланированные запуски в вашем местном времени.
- Измените поле и посмотрите, как обновляются объяснение и время запусков.
- Скопируйте выражение, когда оно делает то, что нужно.
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