Cron Generator — Создание cron-выражений
Создавайте cron-выражения визуально, получайте объяснения на русском языке и просматривайте следующие 10 запусков. Бесплатно, без регистрации.
Что такое Cron Generator?
Cron Generator — это бесплатный онлайн-инструмент для создания, проверки и понимания cron-выражений — синтаксиса расписания из пяти полей, используемого Unix cron-демонами, CI/CD-платформами, облачными планировщиками и бесчисленными другими системами автоматизации. Вы можете визуально составить расписание с помощью выпадающих списков, ввести выражение напрямую или вставить существующее, чтобы мгновенно получить объяснение на русском языке.
Инструмент решает две разные задачи. Написание нового расписания с нуля чревато ошибками, когда нужно помнить точный порядок полей и допустимые специальные символы. Унаследованное выражение вроде 0 9 1-5 не менее запутанно, если вы не уверены, запускается ли оно каждые девять минут или в 9 утра по будням. Cron Generator работает в обоих направлениях: создание → выражение и выражение → русский текст. Всё выполняется на стороне клиента, поэтому вы можете свободно использовать его с внутренними конфигурациями расписаний, которые не должны покидать вашу сеть.
Основные возможности
- Визуальный конструктор cron-выражений — Пять выпадающих списков для Minute, Hour, Day of Month, Month и Day of Week позволяют составлять расписание без запоминания синтаксиса. Каждое поле также имеет пользовательский текстовый ввод для значений вне стандартного списка.
- Понятные объяснения — Библиотека
cronstrueмгновенно переводит любое допустимое выражение на русский язык. Вкладка Builder показывает объяснение в 24-часовом формате; вкладка Human Readable — описание в 12-часовом формате в большом, хорошо заметном виде. - Предварительный просмотр времени следующих запусков — Вкладка Builder показывает следующие 5 запусков. Вкладка Human Readable показывает следующие 10 запусков, выделяя ближайший в основном цвете.
- Проверка cron-выражений — Поле ввода становится красным, а область объяснения переключается на деструктивный фон, когда
cron-parserне может разобрать выражение. Допустимые выражения показывают нейтральный вторичный фон. - 10 встроенных пресетов — Нажмите на кнопку пресета для загрузки распространённого расписания: каждую минуту, каждый час, ежедневно в полночь, ежедневно в 9 утра, каждое воскресенье в полночь, первое число каждого месяца, 1 января, будни в 9 утра, каждые 5 минут и каждые 2 часа.
- Копирование выражения в буфер обмена — Одним кликом копирует текущее выражение и записывает его в панель истории.
- Пакетный режим — Вставьте несколько cron-выражений, по одному на строку, чтобы объяснить все сразу и экспортировать результаты.
- Общие ссылки — Выражение кодируется в URL, что позволяет поделиться конкретным расписанием с коллегой, скопировав адресную строку.
Как использовать Cron Generator
Шаг 1: Введите или создайте выражение
Поле ввода выражения всегда видно в верхней части инструмента. Оно начинается с 0 0 * (ежедневно в полночь). Вы можете:
- Ввести напрямую — Отредактируйте поле, введя любое cron-выражение из пяти полей. Инструмент разбирает его посимвольно и обновляет выпадающие списки, объяснение и предварительный просмотр следующего запуска в реальном времени.
- Использовать Builder — Нажмите на вкладку «Builder» под полем ввода, чтобы открыть пять выпадающих списков: Minute, Hour, Day of Month, Month и Day of Week. Выбор значения в любом выпадающем списке автоматически обновляет поле выражения.
- Выбрать пресет — Нажмите на любую из 10 кнопок пресета (Every Minute, Every Hour и т.д.), чтобы загрузить нужное выражение одним кликом.
Шаг 2: Проверьте объяснение
Прямо под полем ввода выражения панель состояния отображает значение на русском языке. Для выражения 0 9 1-5 инструмент показывает «В 09:00, с понедельника по пятницу» в 24-часовом формате. Панель использует зеленоватый вторичный фон для допустимых выражений и красный деструктивный фон, когда выражение не удаётся разобрать.
Шаг 3: Просмотрите следующие моменты запуска
На вкладке Builder панель «Next Executions» перечисляет следующие 5 запланированных моментов в вашем локальном формате toLocaleString(). Переключитесь на вкладку Human Readable, чтобы увидеть следующие 10 запусков. Первая (ближайшая) запись выделена значком «Next» в основном фиолетовом цвете, что упрощает подтверждение расписания перед развёртыванием.
Шаг 4: Используйте пользовательские значения для сложных выражений
Поля Minute и Hour имеют отдельный текстовый ввод под выпадающим списком с меткой «Custom». Введите здесь любое допустимое значение поля cron — например, 0,15,30,45 для каждой четверти часа или 8-17 для часов с 8 до 17. Пользовательское значение имеет приоритет над выбором выпадающего списка и немедленно обновляет выражение.
Шаг 5: Скопируйте и используйте выражение
Нажмите «Copy» в панели действий, чтобы скопировать выражение в буфер обмена. Выражение готово к вставке в файл crontab, триггер schedule GitHub Actions, правило AWS EventBridge или любое другое поле, совместимое с cron.
Пример выражения для задания утреннего отчёта по будням:
0 8 * * 1-5
Объяснение: «В 08:00, с понедельника по пятницу»
Следующие запуски (начиная с понедельника):
- Пн, 3 мар 2026, 08:00:00
- Вт, 4 мар 2026, 08:00:00
- Ср, 5 мар 2026, 08:00:00
Практические примеры
Планирование резервного копирования базы данных
Бэкенд-разработчик хочет задание, которое запускается каждую ночь в 2 часа. Он выбирает «At midnight» в выпадающем списке Hour, меняет на пользовательское значение 2, оставляет Day of Month и Month как и Day of Week как . Выражение становится 0 2 *. Объяснение подтверждает «В 02:00», а список следующих запусков показывает пять последовательных ночей в 02:00:00. Разработчик копирует выражение и вставляет в crontab.
Настройка ежеквартального отчёта
Аналитик данных хочет задание в первый день каждого квартала (январь, апрель, июль, октябрь) в 6 утра. Он вводит 0 6 1 /3 непосредственно в поле выражения. Инструмент подтверждает «В 06:00, в 1-й день месяца, каждые 3 месяца» и показывает четыре ближайшие квартальные даты. Аналитик делится URL с командой, чтобы все могли проверить расписание.
Аудит унаследованных расписаний
Разработчик получает в наследство микросервис с пятью cron-заданиями, определёнными в YAML-файле. Он переключается в пакетный режим, вставляет все пять выражений (по одному на строку) и нажимает «Process All». Таблица результатов показывает каждое выражение рядом с его описанием на русском языке. Выражение /10 9-17 * 1-5 сразу понятно: «Каждые 10 минут, с 09:00 до 17:00, с понедельника по пятницу.»
Советы и лучшие практики
Используйте вкладку Human Readable для проверки смысла, а не только синтаксиса. Выражение может быть синтаксически допустимым, но семантически неверным — например, 0 0 31 срабатывает 31-го числа каждого месяца, а значит, никогда не запускается в феврале, апреле, июне, сентябре и ноябре. Предварительный просмотр следующих запусков делает этот пробел очевидным.
Специальный символ L означает «последний день месяца». Выпадающий список Day of Month включает опцию «Last Day», которая создаёт значение L. Это поддерживается cron-parser и полезно для задач выставления счетов или отчётности в конце месяца. Перед развёртыванием проверьте, поддерживает ли целевая реализация cron L.
Пользовательские поля Minute и Hour принимают шаговые выражения. Введите */5 в пользовательское поле Minute для запуска каждые 5 минут. Введите 8-17 в пользовательское поле Hour, чтобы ограничить задание рабочими часами. Эти значения недоступны в выпадающем списке, но инструмент корректно их проверяет.
Day of Week 0 и 7 оба означают воскресенье. Таблица синтаксиса во вкладке Builder указывает, что Day of Week принимает 0-6, но многие реализации также принимают 7 как воскресенье. Используйте 0 для единообразия.
Общие URL кодируют выражение. При загрузке общей ссылки всплывающее уведомление подтверждает, что выражение было загружено из URL. Это полезно для комментариев к код-ревью, где вы хотите, чтобы коллеги интерактивно проверили расписание.
Распространённые проблемы и устранение неполадок
Красная рамка вокруг поля выражения. Библиотека cron-parser не смогла разобрать значение. Распространённые причины: меньше или больше пяти разделённых пробелами полей, значение вне допустимого диапазона (например, месяц 13 или минута 60), неподдерживаемый специальный символ. Панель объяснения также покажет «Invalid expression».
«Invalid cron expression» в пакетном режиме. Каждая строка в пакетном режиме проверяется независимо. Строки с ошибками разбора показывают сообщение об ошибке в столбце Output красным цветом. Исправьте каждое выражение и запустите снова.
Выпадающие списки не отражают введённое вручную выражение. Парсер обновляет выпадающие списки только тогда, когда введённое значение точно совпадает с одним из предустановленных вариантов (, 0, 15 и т.д.). Если вы вводите пользовательское значение вроде /5, выпадающий список остаётся на прежнем значении — но само поле выражения и объяснение всегда являются авторитетным источником истины.
Следующие моменты запуска показываются в местном времени. Библиотека cron-parser использует системный часовой пояс клиента. Если вы планируете задания в UTC, проверьте местное смещение. Вкладка Human Readable помечает время как «UTC local time», напоминая об этом различии.
Очистка сбрасывает до . Кнопка Clear сбрасывает все пять полей до (каждую минуту), а не возвращает к исходному 0 0 *. Используйте пресет «Every day at midnight» для быстрого восстановления ежедневного значения по умолчанию.
Конфиденциальность и безопасность
Весь разбор и объяснение cron происходят в вашем браузере с помощью JavaScript-библиотек cronstrue и cron-parser. Ни одно введённое выражение не отправляется на какой-либо сервер. Инструмент полностью работает в офлайн-режиме после первоначальной загрузки страницы. Это делает его безопасным для использования с внутренними конфигурациями расписаний, фирменными именами заданий, встроенными в выражения, и другими конфиденциальными сведениями об автоматизации.
Часто задаваемые вопросы
Cron Generator бесплатный? Да, полностью бесплатный без ограничений использования. Никакой аккаунт или оплата не требуются для создания, объяснения или копирования cron-выражений.
Работает ли он офлайн? После загрузки страницы весь функционал — создание, объяснение, предварительный просмотр следующих запусков — работает без сетевого подключения. Выражение никогда не отправляется на сервер.
Мои данные в безопасности? Ваши выражения обрабатываются локально в JavaScript и никогда не передаются на серверы Glyph Widgets. Безопасно использовать с внутренними конфигурациями заданий и фирменными системными расписаниями.
Какой синтаксис cron поддерживается? Инструмент использует стандартный пятипольный Unix cron синтаксис: Minute (0-59), Hour (0-23), Day of Month (1-31), Month (1-12), Day of Week (0-6). Поддерживаемые специальные символы: * (подстановочный знак), , (список), - (диапазон), / (шаг), L (последний) для Day of Month и # для Day of Week. Шестипольные выражения с полем секунд (используемые некоторыми платформами, например Quartz) не поддерживаются.
В чём разница между вкладкой Builder и вкладкой Human Readable? Вкладка Builder предоставляет визуальный интерфейс с выпадающими списками, кнопки пресетов, следующие 5 моментов запуска и таблицу синтаксиса. Вкладка Human Readable сосредоточена на объяснении: показывает описание на русском языке на видном месте, сетку разбивки полей (показывает, какие поля являются подстановочными, а какие — конкретными) и следующие 10 моментов запуска.
Могу ли я объяснить несколько выражений сразу? Да. Включите пакетный режим с помощью кнопки в верхней части инструмента. Вставьте по одному cron-выражению на строку, нажмите «Process All» и просмотрите таблицу с каждым выражением и его объяснением на русском языке. Используйте «Copy All Results» для экспорта всей таблицы.
Что означает /5 в поле минут? Символ / означает «шаг». /5 означает «каждые 5 единиц начиная с 0», поэтому в поле минут оно срабатывает в 0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50 и 55 минут — 12 раз в час.
Могу ли я поделиться конкретным cron-выражением по ссылке? Да. Инструмент кодирует текущее выражение в строку запроса URL. Скопируйте адресную строку и поделитесь. Когда получатель откроет ссылку, всплывающее уведомление подтвердит, что выражение было загружено из общей ссылки.
Почему моё ежемесячное задание на 31-е число не запускается каждый месяц? Не во всех месяцах есть 31 день. Расписание 0 0 31 будет срабатывать только в январе, марте, мае, июле, августе, октябре и декабре. Используйте предварительный просмотр следующих запусков для проверки пробелов в расписании. Рассмотрите 0 0 L (последний день каждого месяца), если вам нужно поведение конца месяца независимо от его длины.
Что означает 0 9 1-5 на русском языке? «В 09:00, с понедельника по пятницу.» Диапазон 1-5 в поле Day of Week выбирает с понедельника (1) по пятницу (5).
Связанные инструменты
Unix Timestamp — Конвертируйте между Unix-временными метками и читаемыми датами, чтобы проверить, когда последний раз выполнялись ваши запланированные задания.
Date Calculator — Вычислите интервал между двумя датами при планировании частоты запуска периодического cron-задания.
World Clock — Проверяйте текущее время в нескольких часовых поясах для правильного планирования cron-заданий по регионам.
Попробуйте Cron Generator прямо сейчас: Cron Generator