Мазмұнға өту

Cron өрнектерін құру және түсіндіру

Cron кестесін көрнекі түрде құрып, оны қарапайым тілмен оқыңыз және кез келген уақыт белдеуіндегі келесі іске қосылу уақытын алдын ала қараңыз. Стандартты, Quartz және AWS синтаксисі браузеріңізде жұмыс істейді.

Қарапайым тілде

At 09:30, on Monday through Friday

Дайын үлгілер

Көрнекі құрастыру

Келесі 10 іске қосу

Есептелуде…

Жазғы уақытқа ауысу салдарынан өткізіліп кеткен уақыт іске қосылмайды; қайталанатын сағат бір рет орындалады. Нақты cron демондарында бұл аздап өзгеше болуы мүмкін.

Анықтама — Стандартты
ӨрісРұқсат етілген мәндер
Минут0–59
Сағат0–23
Айдағы күн1–31
Ай1–12 немесе JAN–DEC
Апта күні0–7 (0 және 7 = жексенбі) немесе SUN–SAT
ТаңбаМағынасы
*кез келген мән
,тізім: 1,15 = 1-і және 15-і
-аралық: 1-5 = 1-ден 5-ке дейін
/қадам: */15 = әр 15; 5/15 = 5, 20, 35, 50
@dailyмакростар: @yearly @monthly @weekly @daily @hourly (және @reboot)

Айдағы күн де, апта күні де шектелген болса, стандартты cron екеуінің кез келгеніне сәйкес келетін күндері іске қосылады.

Браузеріңізде жұмыс істейді · серверге жүктелмейдіҚалай жұмыс істейді

Cron өрнегінің конструкторы құралын қалай қолдану керек

  1. 1

    Диалектті таңдаңыз

    Стандартты cron, секундпен cron, Quartz немесе AWS EventBridge таңдаңыз — не өрнекті қойыңыз, диалектті өріс саны анықтайды.

  2. 2

    Кестені жазыңыз немесе құрастырыңыз

    Өрнекті теріңіз, дайын үлгіден бастаңыз немесе әр өрісті көрнекі өңдегіште реттеңіз.

  3. 3

    Оқып шығыңыз

    Қарапайым тілдегі сипаттама мен бөлектелген өрістерді тексеріп, мағынасы ойыңыздағыдай екенін көз жеткізіңіз.

  4. 4

    Келесі іске қосуларды тексеріңіз

    Уақыт белдеуін таңдап, келесі 10 іске қосу уақытын растаңыз, содан кейін өрнекті көшіріңіз.

Шектеулер және Pro

Тіркелусіз тегін: 4 диалект, 12 дайын үлгі және 400-ден астам уақыт белдеуінің кез келгенінде келесі 10 іске қосылу уақыты, 30 жылға дейін (немесе өрнектің соңғы жылына дейін) ізделеді.

Pro жарнаманы өшіреді; құрастырғыш барлық жоспарда бірдей жұмыс істейді. Pro-ны қарау

Cron өрнегінің конструкторы туралы

Cron өрнегі кестені бос орынмен бөлінген бірнеше өріске сыйғызады, ал бір орнынан жылжыған сан «жұмыс күндері сағат 9-да» дегенді «9-сағаттағы әр минутқа» айналдырып жіберуі мүмкін. Бұл құрастырғышта өрнекті жазуға немесе қоюға болады: ол бірден қарапайым тілде сипатталады, әр өріс белгіленеді және оның келесі ондаған іске қосылу уақыты көрсетіледі.

Төрт диалект қолдау табады, өйткені олар шынымен бір-бірінен ерекшеленеді. Стандартты cron бес өрістен тұрады — минут, сағат, айдағы күн, ай және апта күні — және оны crontab, Linux cron қызметтері, Kubernetes CronJobs пен GitHub Actions қолданады; ол @daily сияқты макростарды да қабылдайды. Секундпен диалект алдына секунд өрісін қосады, мысалы node-cron және croner-де. Quartz секундтары бар және міндетті емес жылы бар алты не жеті өрісті қолданады, жексенбіні 1 деп нөмірлейді, күн өрістерінің бірінде ? талап етеді және «соңғы» үшін L, «ең жақын жұмыс күні» үшін W, «үшінші жұма» үшін # қосады. AWS EventBridge жылмен аяқталатын алты өрістен тұрады, күн ережелері Quartz-пен бірдей және cron(…) түрінде жазылады. Өрнекті қойғанда өріс саны анық болса, диалект өздігінен ауысады, ал диалектті өзгерткенде бар өрнек мүмкіндігінше түрлендіріледі.

Көрнекі өңдегіш әр өрісті әр / әр N / нақты мәндер / аралық басқару элементтерімен реттейді, ал дайын үлгілер жиі кездесетін тапсырмаларды қамтиды. Іске қосылу уақыттары кез келген IANA уақыт белдеуінде есептеледі, жазғы уақытқа көшу саңылаулары ескеріледі, ал EventBridge ережелері AWS бағалайтындай әдепкіде UTC болады.

Құрастырғыш тек синтаксис пен уақытты тексереді: ол сервер сағатын, құрылғы өшірулі кезде өткізіп алған іске қосуларды немесе GitHub-тағы ең аз аралық сияқты жоспарлағышқа тән шектеулерді білмейді.

Құпиялылық

Өрнектерді талдау мен іске қосылу уақыттарын есептеуді осы беттегі код браузеріңіздің уақыт белдеуі деректерімен орындайды; ештеңе серверге жіберілмейді. Таңдалған диалект пен уақыт белдеуі келесі кіруіңіз үшін жергілікті жадта сақталады.

Мүмкіндіктер

Қарапайым тілдегі түсіндірме

30 9 * * 1-5 не істейтінін болжаудың орнына «Сағат 09:30-да, дүйсенбіден жұмаға дейін».

Келесі 10 іске қосу, кез келген белдеуде

UTC немесе кез келген IANA уақыт белдеуіндегі іске қосылу уақыттары, жазғы уақытқа көшу ескеріледі.

Quartz және AWS синтаксисі

Оларды қолдайтын жоспарлағыштар үшін секунд, жыл, ?, L, W және #.

Cron өрнегінің конструкторы: жиі қойылатын сұрақтар

Неге тапсырма күткенімнен көп күні орындалады?
Стандартты cron-да айдағы күн және апта күні өрістері екеуі де шектелген болса, тапсырма біреуі сәйкес келгенде орындалады. Сондықтан 0 9 13 * 5 тек жұма 13-і күні емес, әр айдың 13-і күні де, әр жұма сайын да іске қосылады. Мұндағы сипаттама мұны анық көрсетеді. Quartz пен AWS бұл екіұштылықты екі өрістің бірінде ? талап ету арқылы болдырмайды.
Cron өрнегіндегі */15 нені білдіреді?
Қиғаш сызық қадамды білдіреді: минут өрісіндегі */15 — 0-ден бастап әр 15 минут сайын, яғни :00, :15, :30 және :45. Бастапқы мән оны жылжытады: 5/15 :05, :20, :35 және :50 болғанда орындалады. Аралықпен қосқанда сағат өрісіндегі 9-17/2 — 9-дан 17-ге дейін әр екінші сағат сайын дегенді білдіреді.
Cron қай уақыт белдеуін қолданады?
Классикалық cron қызметі crontab-та CRON_TZ немесе TZ көрсетілмесе, сервердің жергілікті уақыт белдеуін қолданады. Kubernetes CronJobs әдепкіде контроллер белдеуін алады, бірақ timeZone өрісін қабылдайды, GitHub Actions кестелері UTC бойынша жұмыс істейді, ал EventBridge ережелері әрқашан UTC қолданады, EventBridge Scheduler-де белдеуді таңдауға болады. Нақты уақыттарды көру үшін осында сәйкес белдеуді таңдаңыз.
Жазғы уақытқа көшу кезінде не болады?
Сағат алға жылжығанда өткізіліп кеткен сағаттағы жергілікті уақыт болмайды, ал артқа қайтқанда бір сағат екі рет қайталанады. Бұл алдын ала қарау жоқ уақыттарды өткізіп жібереді, қайталанған уақытты бір рет қана орындайды. Нақты қызметтер әртүрлі: Vixie cron мен cronie өткізіп алынған тапсырмаларды орындауға тырысады, сондықтан жергілікті уақыт 01:00–03:00 тапсырмалары үшін UTC таңдаңыз немесе жоспарлағыш құжаттамасын қараңыз.
Crontab жолын Quartz немесе AWS пішіміне қалай түрлендіремін?
Тізімнен жаңа диалектті таңдаңыз, өрнек өздігінен түрленеді: Quartz үшін секунд өрісі, AWS үшін жыл өрісі қосылады, апта күні нөмірлері 0–6 аралығынан 1–7 аралығына ауысады, ал пайдаланылмайтын күн өрісіне ? қойылады. Түпнұсқада айдағы күн мен апта күні қатар берілсе, мақсатты диалект мұндай үйлесімді білдіре алмайтыны туралы хабарланады.