Генератор cron-выражений
0-59
0-23
1-31
1-12
0-7 (0,7=Вс)
Синтаксис cron лаконичен, и в нём легко ошибиться: 0 */6 * * * запускается каждые шесть часов, а */6 0 * * * срабатывает десять раз, только в течение первого часа после полуночи. Этот генератор позволяет визуально задать расписание (каждые 15 минут, по будням в 9 утра, 1-го числа каждого месяца) и выводит точное выражение вместе с понятным описанием того, что оно означает.
Как создать cron-выражение
-
1
Выберите пресет или введите поля
Каждую минуту, каждый час, ежедневно в полночь, еженедельно по воскресеньям и 1-го числа каждого месяца: всё в один клик. Для всего остального вводите значения прямо в пять полей.
-
2
Уточните график
Конкретные минуты, часы, дни месяца, месяцы и дни недели. Поддерживаются диапазоны (9–17), списки (1, 15) и шаги (*/6).
-
3
Прочитайте выражение
Генератор всегда выдаёт стандартный формат cron из 5 полей, а также понятное описание расписания.
-
4
Проверьте диалект
Диалекты различаются (Quartz, AWS EventBridge, Kubernetes). Убедитесь, что выражение соответствует тому, что ожидает ваш планировщик.
Пять полей
* * * * *
│ │ │ │ │
│ │ │ │ └── День недели (0-6, воскресенье=0, или SUN-SAT)
│ │ │ └───── Месяц (1-12, или JAN-DEC)
│ │ └──────── День месяца (1-31)
│ └─────────── Час (0-23)
└────────────── Минута (0-59)
Каждое поле принимает следующие значения:
- Конкретное число:
5 - Список:
1,15,30 - Диапазон:
9-17 - Шаг:
*/10(каждые 10) или0-30/5(каждые 5 от 0 до 30) - Подстановочный знак:
*(любое значение)
Распространённые выражения
| Расписание | Cron-выражение |
|---|---|
| Каждую минуту | * * * * * |
| Каждые 15 минут | */15 * * * * |
| Каждый час ровно | 0 * * * * |
| Каждые 6 часов | 0 */6 * * * |
| Каждый день в 2:30 ночи | 30 2 * * * |
| По будням в 9:00 | 0 9 * * 1-5 |
| Каждый понедельник в 8:00 | 0 8 * * 1 |
| 1-го числа каждого месяца в 3:00 | 0 3 1 * * |
| Каждые 15 минут по будням с 9 до 17 | */15 9-17 * * 1-5 |
| Полдень 1-го и 15-го числа | 0 12 1,15 * * |
| Каждое воскресенье в полночь | 0 0 * * 0 |
Подвох с днём месяца и днём недели
В стандартном cron, если заданы и день месяца, и день недели (оба не *), задача запускается при совпадении любого из них (логика OR, а не AND). 0 0 1 * MON выполняется 1-го числа каждого месяца и каждый понедельник, а не только когда 1-е число приходится на понедельник.
Vixie cron и большинство дистрибутивов Linux следуют этому правилу OR; Quartz (Java) и некоторые другие используют AND. Если сомневаетесь, проверьте выражение сухим запуском (dry run) или тестовой задачей в своём планировщике.
Различия диалектов
- Стандартный cron (Linux): 5 полей, день недели 0-6 (воскресенье = 0 или 7).
- Quartz (Spring, Java-приложения): 6-7 полей, где первое поле, секунды, а год необязателен. День недели 1-7 (воскресенье = 1).
- AWS EventBridge cron: 6 полей, включая год. День недели и день месяца должны быть взаимоисключающими (одно из них должно быть
?). - GitHub Actions: стандартные 5 полей, минимальный интервал 5 минут, только UTC.
- Kubernetes CronJob: стандартные 5 полей, по умолчанию UTC.
Всегда уточняйте, какой диалект использует ваш планировщик.
Часовые пояса
Классический cron работает в локальном часовом поясе сервера. Это создаёт серьёзные проблемы при переходе на летнее время: задача в 2:30 ночи в день перевода часов может выполниться дважды или не выполниться вовсе. Современные планировщики (systemd timers, Kubernetes, EventBridge) позволяют явно указать часовой пояс, используйте UTC, если у вас нет веской причины поступить иначе.
Часто задаваемые вопросы
Каждые 5 единиц поля, начиная с 0. В поле минут */5 срабатывает на минутах 0, 5, 10, 15, …, 55. Это сокращённая запись для 0,5,10,15,20,25,30,35,40,45,50,55.
Cron не может выразить произвольные интервалы, которые не делятся нацело на 60 минут или 24 часа. Для 90 минут перечислите конкретное время запусков: комбинируйте 0 0,9 * * * с дополнительными строками либо перейдите на планировщик, поддерживающий произвольные интервалы (systemd timers, anacron).
В полночь. Порядок полей, минута, затем час, поэтому 0 0 означает «минута 0 часа 0». Полдень, это 0 12 * * *.
Стандартный cron пропускает её, пропущенные запуски не повторяются. Anacron при следующей загрузке выполняет пропущенные ежедневные, еженедельные и ежемесячные задачи. У Kubernetes CronJob есть startingDeadlineSeconds и concurrencyPolicy для явной обработки пропущенных окон выполнения.
Сопутствующие инструменты
Смешивание цветов
Смешайте два HEX-цвета в 2-20 равномерных образцов. Каждый промежуточный цвет показывается как HEX-код в верхнем регистре, включая оба края.
Счетчик FPS
Измерьте FPS браузера через requestAnimationFrame: сглаживание, минимальная и максимальная частота кадров, порог предупреждения и график по желанию. Работает локально, без загрузок и API.
Генератор случайных букв
Генерируйте случайные буквы A-Z. Выберите количество, верхний или нижний регистр либо смешанный вариант для игр, заданий и уроков.
Генератор бейджей README
Создавайте бейджи shields.io для файлов README на GitHub: статус сборки, версия, лицензия, число загрузок и покрытие кода. Просмотрите и скопируйте фрагмент Markdown.
Генератор случайных адресов
Создавайте 1–20 похожих на адрес записей для макетов и тестов в трёх упрощённых форматах.
Конвертер из формата HEX в ASCII
Преобразует последовательности шестнадцатеричных байтов в текст в формате ASCII. Отлично подходит для отладки протоколов, обратного инженеринга и решений задач типа CTF.
Инструмент доступен на других языках
- Cron式ジェネレーター [JA]
- Cron-expressiegenerator [NL]
- Generador de Expresiones Cron [ES]
- Bộ tạo biểu thức Cron [VI]
- Gerador de Expressões Cron [PT]
- Penghasil Ekspresi Cron [ID]
- Cron-Ausdrucks-Generator [DE]
- Cron-uttrycksgenerator [SV]
- مولّد تعبيرات Cron [AR]
- Generator wyrażeń Cron [PL]
- Cron 표현식 생성기 [KO]
- เครื่องสร้างนิพจน์ Cron [TH]
- Générateur d'expressions Cron [FR]
- Cron Expression Generator [EN]
- Generatore di Espressioni Cron [IT]
- Cron İfadesi Oluşturucu [TR]
- Cron 表达式生成器 [ZH]