Генератор Crontab

Онлайн-генератор crontab с проверкой в реальном времени. Создавайте cron-выражения из 5 или 6 полей, смотрите их перевод на понятный язык и просматривайте предстоящие запланированные запуски.

Секунда
*
0–59
Минута
*
0–59
Час
*
0–23
День
*
1–31 ● L
Месяц
*
1–12 ● JAN–DEC
День недели
*
0–6 ● SUN–SAT ● L ● #

Легенда

*
Любое значение поля
X,Y
В X и Y
X-Y
С X по Y
*/X
Каждые X
Y/X
Каждые X, начиная с Y

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

Интерактивный редактор для написания и проверки crontab-выражений. По мере ввода инструмент переводит выражение на естественный язык и вычисляет даты следующих выполнений от заданной исходной даты. Поддерживает два наиболее распространенных формата: 5 полей (стандарт Unix/Linux) и 6 полей с точностью до секунды (Quartz, Spring Scheduler).

Структура cron-выражения

Секунда (0–59) — необязательно, присутствует только в формате из 6 полей
Минута (0–59)
Час (0–23)
День месяца (1–31)
Месяц (1–12 или JAN–DEC)
День недели (0–7 или SUN–SAT, где 0 и 7 обозначают воскресенье)

Популярные cron-выражения

Частые сценарии планирования и их эквивалентные cron-выражения

  • * * * * *Выполняется каждую минуту
  • 0 0 * * *Выполняется каждый день в полночь
  • 0 12 * * MON-FRIВ полдень, с понедельника по пятницу
  • 0 0 1 * *В полночь в первый день каждого месяца

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

Значение символов, используемых в полях выражения

*
Означает любое значение для поля. В минутах это эквивалентно 'каждую минуту'
X,Y
Перечисляет конкретные значения. В часах '1,15' означает в 1:00 и в 15:00
X-Y
Определяет диапазон. В днях недели '1-5' охватывает с понедельника по пятницу
*/X
Определяет шаг. В минутах '*/2' означает каждые 2 минуты

Как пользоваться

1

Введите выражение

Вставьте или введите любое cron-выражение в главное поле. Проверка происходит в реальном времени, показывая, правилен ли синтаксис, по мере ввода.

2

Прочтите перевод

Прямо под полем инструмент показывает выражение на понятном языке — полезно для подтверждения значения без необходимости запоминать синтаксис.

3

Посмотрите следующие запуски

На вкладке 'Результаты' посмотрите следующие даты срабатывания задачи, начиная с настраиваемой исходной даты.

4

Загрузите больше дат

Используйте кнопку 'Загрузить еще', чтобы расширить список и проверить поведение планировщика на более длительных периодах.

Реальные примеры

Частые сценарии планирования и их эквивалентные cron-выражения

  • 0 2 * * * — Ежедневное резервное копирование базы данных в 2:00
  • */15 * * * * — Проверка работоспособности каждые 15 минут
  • 0 9 * * MON — Еженедельный отчет по электронной почте каждый понедельник в 9:00
  • 0 0 1 1 * — Ежегодная задача архивирования, 1 января в полночь
  • 0 18 * * FRI — Еженедельная сводка каждую пятницу в 18:00

Особые случаи и продвинутые паттерны

Менее очевидные паттерны, которые часто вызывают вопросы

  • 0,30 * * * * — Выполняется на 0-й и 30-й минутах каждого часа (два раза в час)
  • 30 0 2 * * * — Формат из 6 полей: срабатывает ровно в 02:00:30, с точностью до секунды
  • 0 8-18 * * 1-5 — Каждый полный час с 8:00 до 18:00, только в рабочие дни

Вопросы и ответы

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

Crontab-выражение — это последовательность из 5 или 6 разделенных пробелами полей, которая определяет, когда запланированная задача (cron job) должна быть выполнена в Unix-подобных системах. Каждое поле представляет единицу времени: минуту, час, день месяца, месяц и день недели — с дополнительным необязательным полем секунд в начале.

В чем разница между cron из 5 и 6 полей?

Формат из 5 полей (минута, час, день, месяц, день недели) является историческим стандартом Unix cron. Формат из 6 полей добавляет поле секунд в начале, обеспечивая более высокую точность. Он используется такими планировщиками, как Quartz (Java), Spring Scheduler и некоторыми современными реализациями.

Как выполнять задачу каждые 5 минут?

Используйте выражение */5 * * * *. Нотация */5 в поле минут означает 'каждый шаг в 5 единиц, начиная с 0' — задача будет срабатывать на 0, 5, 10, 15 минутах и так далее, каждый час.

Что означает */N в cron-выражении?

Нотация */N означает 'каждые N единиц в пределах диапазона поля'. В поле минут */2 срабатывает каждые 2 минуты. В поле часов */6 срабатывает каждые 6 часов. Косая черта определяет шаг по всему допустимому диапазону поля.

Могу ли я использовать имена вместо чисел для месяцев и дней недели?

Да. Поле месяца принимает значения от JAN до DEC, а поле дня недели — от SUN до SAT. Имена не зависят от регистра в большинстве реализаций. Например, 0 9 * * MON-FRI эквивалентно 0 9 * * 1-5 и срабатывает в 9:00 по рабочим дням.

Можно ли предсказать, когда будет выполнено мое cron-выражение?

Да. На вкладке 'Результаты' в этом инструменте вы можете увидеть предстоящие даты выполнения, рассчитанные от исходной даты. Изменение этой даты позволяет смоделировать поведение планировщика в разные моменты времени, что полезно для проверки расписания перед его внедрением в рабочую среду.

Смотрите также