Безплатен конвертор

Cron израз Генератор

Генерирайте, обяснявайте и валидирайте cron изрази незабавно във вашия браузър. Визуален конструктор и анализатор на изрази — безплатен, частен и клиентски.

Cron израз
0 */6 * * *
Четимо от човека описание
Every minute
Следващи 5 планирани изпълнения
Calculating...

За този инструмент

Cron изразите са пет (или шест, в зависимост от системата) полета, разделени с интервал, които описват график: минута, час, ден от месеца, месец и ден от седмицата. Всяко поле приема числови стойности, диапазони, списъци, увеличения и заместващи знаци. Cron е де факто Unix форматът за планиране от края на 70-те години на миналия век и сега се използва далеч отвъд Unix – от Kubernetes CronJobs, GitHub Actions, AWS EventBridge правила, Jenkins jobs и почти всяка друга система за планиране в производство.

Четенето и писането на cron изрази на ръка е податливо на грешки. Полетата са позиционирани, взаимодействието ден от месец и ден от седмицата е неочевидно (стойност в което и да е поле задейства заданието, а не и двете), а грешките безшумно създават графици, които изглеждат правилни, но се активират в грешни моменти. Генератор, който превежда графици на обикновен английски в правилен синтаксис на cron, избягва тези грешки.

Този инструмент предлага две посоки: изграждане на cron израз от приятелска форма (всеки понеделник в 9 сутринта, на всеки 5 минути през работното време) и обяснение на съществуващ cron израз в човешки термини. И двете работят във вашия браузър без никакво взаимодействие със сървъра.

Защо да използвате Cron генератор

Синтаксисът на Cron е плътен и непримирим. Често срещаните грешки включват объркващо номериране на ден от седмицата (неделя е 0 или 7 в зависимост от системата), забравяне, че денят от месеца и денят от седмицата използват ИЛИ семантика и неразбиране на синтаксиса на нарастване (*/5 означава всеки 5, започващ от 0). Генераторът ги улавя по конструкция - произведените изрази съответстват на това, което сте описали във формуляра.

Четенето на съществуващи изрази е също толкова трудно. График като 0 9 * * 1-5 се чете като всеки делничен ден в 9 сутринта, след като знаете синтаксиса, но всеки, който не е запознат с cron, трябва да търси всяко поле. Обясняването на израза с човешки термини е по-бързо от изучаването на синтаксиса за еднократни взаимодействия.

Как да използвате

Изберете модел на график, вземете cron израза.

  1. Изберете режим на генериране: Изградете cron израз от входни данни на формуляр (честота, време, дни) или обяснете съществуващ израз с човешки термини.
  2. Конфигурирайте графика: Изберете честотата (всяка минута, всеки час, всеки ден, всяка седмица, всеки месец, персонализирано). Посочете часове, дни и интервали, ако е необходимо. Формулярът ограничава въвеждането на валидни комбинации.
  3. Генерирайте или обяснете: Генерирането създава стандартен синтаксис на cron (5 полета). Обяснението разбива всяко поле и дава разбираемо за човека резюме.
  4. Използвайте във вашия планировчик: Поставете генерирания израз в спецификацията на Kubernetes CronJob, графика на GitHub Actions, AWS EventBridge или планировчика на вашата платформа.

Обичайни случаи на употреба

Технически подробности

Стандартният cron има пет полета: минута (0–59), час (0–23), ден от месеца (1–31), месец (1–12), ден от седмицата (0–6 или 0–7, и двете неделя). Всяко поле приема една стойност, списък, разделен със запетая, диапазон с тире, увеличение с / или заместващ знак с *.

Ден от месец и ден от седмицата използват ИЛИ семантика: ако някой от тях е зададен на стойност без заместващ знак, заданието се изпълнява, когато съвпада. Това не е интуитивно, но съответства на поведението на POSIX cron. Задаването на двете полета създава по-широк график, а не по-тесен.

Разширенията варират според изпълнението. Някои приемат шесто поле за секунди (Кварц, Пролет); някои приемат? като алтернатива със заместващ знак; някои включват преки пътища @yearly, @monthly, @daily. Генераторът произвежда стандартен 5-поле cron, подходящ за повечето системи.

Най-добри практики

Често задавани въпроси

Какво представлява форматът на cron израз?
Стандартният cron използва 5 полета: минута (0-59), час (0-23), ден от месеца (1-31), месец (1-12), ден от седмицата (0-7, където 0 и 7 са неделя). Специални знаци: * (всеки), , (списък), - (диапазон), / (стъпка).
Как да настроя задача да се изпълнява на всеки 5 минути?
Използвайте */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?
Той е насочен към стандартен cron с 5 полета. Разширенията Quartz (със секунди), вариантите на AWS EventBridge и други диалекти може да не анализират правилно. Потвърдете спрямо документацията на целевата система.
Моят израз изпраща ли се до сървър?
Не. Генерирането и обяснението се случват във вашия браузър.
Какво ще кажете за преките пътища @yearly, @monthly?
Често срещаните реализации на cron поддържат @yearly, @monthly, @weekly, @daily, @hourly и @reboot като преки пътища за общи графици. Генераторът произвежда стандартни изрази с 5 полета; можете ръчно да замените преките пътища, ако вашият планировчик ги приема.