Генератор и обяснение на cron изрази

Създайте crontab график с няколко клика или поставете съществуващ. Получавате обяснение на разбираем език, валидиране по полета и следващите 10 изпълнения във вашата часова зона.

Работи в браузъраБез регистрацияНищо не се качва

минутачасден (месец)месецден (седмица)

Визуален конструктор

Следващи 10 изпълнения

    Как да използвате: Генератор на cron изрази

    1. Въведете cron израз, например */15 * * * *, или натиснете шаблон.
    2. Прочетете описанието, за да потвърдите, че прави каквото очаквате. Невалидните полета се маркират с причината.
    3. Използвайте разделите на Визуалния конструктор, за да зададете минута, час, ден от месеца, месец и ден от седмицата с Всяка минута/всеки час/…, Стъпка N, Избор или Диапазон.
    4. Проверете следващите 10 изпълнения и изберете часовата зона на сървъра, ако е различна от вашата.
    5. Копирайте израза във вашия crontab, Kubernetes CronJob, schedule в GitHub Actions или CI конфигурация.

    Cron синтаксис за една минута

    Стандартният cron израз има пет полета, разделени с интервали:

    ┌───────────── minute (0-59)
    │ ┌─────────── hour (0-23)
    │ │ ┌───────── day of month (1-31)
    │ │ │ ┌─────── month (1-12 or JAN-DEC)
    │ │ │ │ ┌───── day of week (0-7 or SUN-SAT, 0 and 7 are Sunday)
    │ │ │ │ │
    * * * * *  command
    СимволЗначениеПример
    *всяка стойност* * * * * всяка минута
    ,списък0 9,17 * * * в 09:00 и 17:00
    -диапазон0 9 * * 1-5 в делнични дни в 09:00
    /стъпка*/10 * * * * на всеки 10 минути
    @dailyмакроссъщото като 0 0 * * *; също @hourly, @weekly, @monthly, @yearly, @reboot

    Капанът „ден от месеца / ден от седмицата“

    Когато и двете полета за ден са ограничени (нито едно не започва с *), cron се изпълнява, когато съвпадне което и да е от тях. Затова 0 0 13 * 5 се изпълнява на всяко 13-о число и всеки петък, а не само в петък 13-и. Генераторът следва това правило на Vixie cron, а описанието казва „или“, за да го забележите.

    Часови зони и лятно часово време

    Cron използва местната часова зона на сървъра, освен ако не е зададено друго (CRON_TZ= в някои cron реализации, timeZone в Kubernetes CronJobs; GitHub Actions винаги използва UTC). Изберете тази зона в прегледа на изпълненията. Задачи, насрочени в „дупката“ при преминаване към лятно време (например 02:30 в нощта на преместване на часовника напред), се пропускат в прегледа, защото това местно време не съществува.

    Чести графици

    • */5 * * * *: на всеки 5 минути
    • 0 */2 * * *: на всеки 2 часа, в началото на часа
    • 0 9 * * 1-5: в 09:00 в делнични дни
    • 0 0 1 * *: в полунощ на първо число всеки месец
    • 0 3 * * 0: в 03:00 всяка неделя, типичен прозорец за бекъп

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

    Как да изпълнявам cron задача на всеки 5 минути?
    Използвайте */5 * * * *. Стъпката /5 в полето за минути означава всяка 5-а минута, започвайки от 0: 00, 05, 10 и т.н.
    Поддържа ли cron секунди?
    Стандартният crontab не поддържа; най-малката единица е една минута. Quartz, Spring и някои облачни планировчици добавят поле за секунди (6 или 7 полета). Този инструмент валидира стандартния формат с 5 полета и ви казва, когато види 6 полета.
    Неделя 0 ли е или 7?
    И двете. В полето за ден от седмицата 0 и 7 означават неделя, а можете да пишете и имена като SUN или MON-FRI.
    Защо задачата ми се изпълнява в повече дни от очакваното?
    Ако сте ограничили и деня от месеца, и деня от седмицата, cron се изпълнява, когато съвпадне което и да е от тях. Задайте едното на *, за да важи само другото.
    В коя часова зона са следващите изпълнения?
    По подразбиране в часовата зона на браузъра ви. Изберете зоната на сървъра (често UTC) от списъка, за да видите точно кога задачата се задейства там.

    Свързани инструменти