Об этом инструменте
Выражения Cron представляют собой пять (или шесть, в зависимости от системы) полей, разделенных пробелами, которые описывают расписание: минуты, часы, день месяца, месяц и день недели. Каждое поле принимает числовые значения, диапазоны, списки, приращения и подстановочные знаки. Cron был де-факто форматом планирования Unix с конца 1970-х годов и теперь используется далеко за пределами Unix — Kubernetes CronJobs, GitHub Actions, правилами AWS EventBridge, заданиями Jenkins и почти всеми другими системами планирования в производстве.
Чтение и запись выражений cron вручную подвержены ошибкам. Поля являются позиционными, взаимодействие дня месяца и дня недели неочевидно (значение в любом поле запускает задание, а не в обоих), а ошибки незаметно создают расписания, которые выглядят правильно, но срабатывают в неподходящее время. Генератор, который переводит простые английские расписания в правильный синтаксис cron, позволяет избежать этих ошибок.
Этот инструмент предлагает два направления: создание выражения cron в удобной форме (каждый понедельник в 9 утра, каждые 5 минут в рабочее время) и объяснение существующего выражения cron человеческим языком. Оба запускаются в вашем браузере без какого-либо взаимодействия с сервером.
Зачем использовать генератор Cron
Синтаксис Cron плотный и неумолимый. Распространенные ошибки включают в себя путаную нумерацию дней недели (воскресенье — 0 или 7 в зависимости от системы), забвение того, что день месяца и день недели используют семантику ИЛИ, а также неправильное понимание синтаксиса приращения (*/5 означает каждые 5, начиная с 0). Генератор улавливает их по конструкции — полученные выражения соответствуют тому, что вы описали в форме.
Чтение существующих выражений одинаково сложно. Расписание типа 0 9 * * 1-5 читается как каждый будний день в 9 утра, если вы знаете синтаксис, но любой, кто не знаком с cron, должен искать каждое поле. Объяснить выражение человеческим языком быстрее, чем изучить синтаксис для одноразовых взаимодействий.
Как использовать
Выберите шаблон расписания, получите выражение cron.
- Выберите режим генерации: Создайте выражение cron на основе входных данных формы (частота, время, дни) или объясните существующее выражение человеческим языком.
- Настроить расписание: Выберите частоту (каждую минуту, каждый час, каждый день, каждую неделю, каждый месяц, по индивидуальному заказу). При необходимости укажите время, дни и интервалы. Форма ограничивает входные данные допустимыми комбинациями.
- Создать или объяснить: Генерация создает стандартный синтаксис cron (5 полей). Объяснение разбивает каждое поле и дает удобочитаемое резюме.
- Используйте в своем планировщике: Вставьте сгенерированное выражение в спецификацию Kubernetes CronJob, расписание действий GitHub, AWS EventBridge или планировщик вашей платформы.
Общие случаи использования
Технические детали
Стандартный cron имеет пять полей: минуты (0–59), часы (0–23), день месяца (1–31), месяц (1–12), день недели (0–6 или 0–7, оба воскресенья). Каждое поле принимает одно значение, список, разделенный запятыми, диапазон с дефисом, приращение с помощью / или подстановочный знак с помощью *.
День месяца и день недели используют семантику ИЛИ: если для любого из них установлено значение, не являющееся подстановочным знаком, задание запускается, когда любое из них совпадает. Это противоречит здравому смыслу, но соответствует поведению cron POSIX. Если задать оба поля, график будет более широким, а не более узким.
Расширения различаются в зависимости от реализации. Некоторые принимают шестое поле для секунд (Кварц, Весна); некоторые принимают? в качестве альтернативы подстановочным знакам; некоторые включают ярлыки @yearly, @monthly, @daily. Генератор выдает стандартный 5-полевый cron, подходящий для большинства систем.
Часто задаваемые вопросы
- Каков формат выражения cron?
- Стандартный cron использует 5 полей: минуты (0-59), час (0-23), день месяца (1-31), месяц (1-12), день недели (0-7, где 0 и 7 — воскресенье). Специальные символы: * (любой), , (список), - (диапазон), / (шаг).
- Как настроить запуск задания каждые 5 минут?
- Используйте */5 в поле минут: '*/5 * * * *'. /5 означает «каждое пятое значение». Аналогично, */15 = каждые 15 минут, */2 = каждые 2 минуты.
- Какой часовой пояс использует cron?
- Cron обычно использует системный часовой пояс. На серверах Linux это обычно время UTC, если не указано иное. Облачные сервисы (AWS, GCP) часто по умолчанию используют UTC. Всегда проверяйте настройки часового пояса вашей системы.
- Это тот же формат, который используется в GitHub Actions?
- GitHub Actions использует тот же формат из 5 полей, но работает в часовом поясе UTC. AWS CloudWatch и Kubernetes CronJobs также используют этот формат. Некоторые системы, такие как Quartz, используют расширенный формат из 6–7 полей с секундами.
- В чем разница между 0 в дне недели и 7?
- Оба означают воскресенье. POSIX cron принимает значения 0–6 или 0–7. Используйте то, что предпочитает ваша конкретная реализация cron; большинство принимают и то, и другое.
- Является ли объяснение точным для нестандартного cron?
- Он нацелен на стандартный 5-полевой cron. Расширения Quartz (с секундами), варианты AWS EventBridge и другие диалекты могут анализироваться неправильно. Подтвердите это в документации целевой системы.
- Отправлено ли мое выражение на сервер?
- Нет. Генерация и объяснение происходят в вашем браузере.
- А как насчет ярлыков @yearly и @monthly?
- Общие реализации cron поддерживают @yearly, @monthly, @weekly, @daily, @hourly и @reboot в качестве ярлыков для общих расписаний. Генератор создает стандартные выражения из 5 полей; вы можете вручную заменить ярлыки, если ваш планировщик их поддерживает.
Related Articles
DeveloperEssential Developer Tools: JSON, Base64, RegEx, and More
A comprehensive overview of the developer utilities every programmer should know, from data format converters to encoding tools.
9 min readDeveloper & SecurityHashing, Encryption, and Encoding Explained: A Developer's Security Guide
Understand the differences between hashing, encryption, and encoding. Learn when to use MD5, SHA-256, Base64, AES, and other cryptographic tools in your applications.
10 min readData & ProductivitySpreadsheet & Data Conversion Guide: Excel, CSV, JSON, and More
Learn how to convert between spreadsheet and data formats like Excel, CSV, JSON, and XML. Practical tips for handling data migration, cleaning, and transformation.
10 min readPrivacy & TechnologyWhy Browser-Based Tools Are the Future: No Installs, No Uploads, No Risk
Discover why browser-based tools are replacing desktop software and cloud uploads. Learn how client-side processing keeps your files private while delivering powerful functionality.
7 min read