Cron-выражения выглядят как набор случайных чисел и звёздочек, но они управляют запуском миллионов запланированных задач по всему интернету. Настраиваете ли вы скрипт резервного копирования, планируете отправку отчётов по email или конфигурируете CI/CD-пайплайн — понимание cron необходимо. Это руководство упрощает задачу с помощью нашего бесплатного Парсера cron.
Что вам понадобится
- Cron-выражение для расшифровки или расписание, которое вы хотите записать в формате cron
- Веб-браузер (Chrome, Firefox, Safari или Edge)
- Без регистрации и установки
Пошаговое руководство
Введите cron-выражение
Откройте инструмент Парсер cron. Введите или вставьте cron-выражение в поле ввода. Например, попробуйте 0 9 * * 1. Инструмент мгновенно разбирает его и показывает, что оно означает, на понятном языке.
Прочитайте понятный результат
Парсер переводит выражение в ясное описание. Для 0 9 * * 1 вы увидите что-то вроде «В 09:00 каждый понедельник». Инструмент также показывает время следующих запланированных запусков, чтобы вы могли убедиться, что расписание работает как ожидается.
Настраивайте и экспериментируйте
Изменяйте выражение и наблюдайте, как описание обновляется в реальном времени. Измените число, замените звёздочку на значение или добавьте диапазон. Эта мгновенная обратная связь — самый быстрый способ изучить синтаксис cron и создать точное расписание, которое вам нужно.
Полезно знать Cron-выражения обычно содержат пять полей: минута, час, день месяца, месяц и день недели. В некоторых системах добавляется шестое поле для секунд, но пять полей — это стандарт.
Описание пяти полей
Cron-выражение состоит из пяти полей, разделённых пробелами:
┌───────────── минута (0-59)
│ ┌───────────── час (0-23)
│ │ ┌───────────── день месяца (1-31)
│ │ │ ┌───────────── месяц (1-12)
│ │ │ │ ┌───────────── день недели (0-7, где 0 и 7 — воскресенье)
│ │ │ │ │
* * * * *
Звёздочка * означает «каждый». Число означает «точно это значение». Это основа — всё остальное строится на ней.
Типичные шаблоны cron
Вот шаблоны, которые вы будете использовать чаще всего. Введите любой из них в Парсер cron, чтобы увидеть объяснение и проверку:
| Выражение | Значение |
|---|---|
* * * * * |
Каждую минуту |
0 * * * * |
Каждый час (в минуту 0) |
0 9 * * * |
Каждый день в 9:00 |
0 9 * * 1 |
Каждый понедельник в 9:00 |
0 9 * * 1-5 |
По будням в 9:00 |
0 0 1 * * |
Первый день каждого месяца в полночь |
0 */6 * * * |
Каждые 6 часов |
30 8 * * 1,3,5 |
Понедельник, среда, пятница в 8:30 |
0 0 * * 0 |
Каждое воскресенье в полночь |
*/15 * * * * |
Каждые 15 минут |
Совет Синтаксис шага */n означает «каждые n интервалов». Так, */15 в поле минут означает каждые 15 минут (в 0, 15, 30 и 45 минут каждого часа). Синтаксис диапазона 1-5 в поле дня недели означает с понедельника по пятницу.
Описание специальных символов
| Символ | Значение | Пример |
|---|---|---|
* |
Каждое значение | * * * * * = каждую минуту |
, |
Несколько значений | 0 9,17 * * * = в 9:00 и 17:00 |
- |
Диапазон значений | 0 9 * * 1-5 = по будням |
/ |
Интервал шага | */10 * * * * = каждые 10 минут |
Создание собственных выражений
Чтобы создать cron-выражение с нуля, представьте своё расписание как ответы на пять вопросов:
- В какую минуту? (0-59 или
*для каждой минуты) - В какой час? (0-23 или
*для каждого часа) - В какой день месяца? (1-31 или
*для каждого дня) - В какой месяц? (1-12 или
*для каждого месяца) - В какой день недели? (0-7 или
*для каждого дня)
Например, «Каждый вторник и четверг в 14:30» записывается так: минута=30, час=14, день=, месяц=, день недели=2,4, что даёт 30 14 * * 2,4.
Важно Cron использует 24-часовой формат времени. 9 утра — это 9, а 9 вечера — 21. Также учтите, что часовой пояс зависит от сервера, выполняющего cron-задачу, а не от вашего местного времени. Всегда уточняйте, какой часовой пояс использует ваша система.
Часто задаваемые вопросы
Что произойдёт, если указать и день месяца, и день недели? В стандартном cron задача выполняется при выполнении любого из условий (это ИЛИ, а не И). Это часто застаёт людей врасплох. Если нужны оба условия одновременно, используйте скрипт-обёртку, который проверяет дату.
Можно ли запланировать запуск каждые 2 часа?
Да. Используйте 0 */2 * * *, что запускает задачу в минуту 0 каждого второго часа.
В чём разница между cron с 5 и 6 полями? Некоторые системы (Spring, Quartz) добавляют поле секунд в начале. Стандартный Unix cron использует пять полей. Парсер cron поддерживает оба формата.
Следующие шаги
Теперь, когда вы умеете читать и писать cron-выражения, попробуйте создать расписания для ваших проектов. Если вы работаете с другими инструментами разработки, ознакомьтесь с нашим Тестером регулярных выражений для сопоставления шаблонов или Форматированием JSON для работы с конфигурационными файлами.