Asosiy qismga oʻtish

Cron ifodasini tuzish va tushuntirish

Cron jadvalini vizual tuzing, uni oddiy tilda oʻqing va standart, Quartz hamda AWS sintaksisida istalgan vaqt mintaqasidagi keyingi ishga tushish vaqtlarini brauzeringizda koʻring.

Oddiy tilda

Dushanbadan jumagacha, soat 09:30 da

Tayyor jadvallar

Vizual tuzish

Keyingi 10 ta ishga tushish

Hisoblanmoqda…

Yozgi vaqtga oʻtishda tushib qolgan vaqtlar ishga tushmaydi, takrorlangan soat esa bir marta ishlaydi. Haqiqiy cron demonlari bu borada biroz farq qiladi.

Qisqa qoʻllanma — Standart
MaydonRuxsat etilgan qiymatlar
Daqiqa0–59
Soat0–23
Oy kuni1–31
Oy1–12 yoki JAN–DEC
Hafta kuni0–7 (0 va 7 = yakshanba) yoki SUN–SAT
BelgiMaʼnosi
*istalgan qiymat
,roʻyxat: 1,15 = 1- va 15-
-oraliq: 1-5 = 1 dan 5 gacha
/qadam: */15 = har 15; 5/15 = 5, 20, 35, 50
@dailymakroslar: @yearly @monthly @weekly @daily @hourly (va @reboot)

Oy kuni ham, hafta kuni ham cheklangan boʻlsa, standart cron ulardan istalgan biriga mos kunlarda ishlaydi.

Brauzeringizda ishlaydi · yuklanmaydiQanday ishlaydi

Cron ifoda konstruktori: foydalanish tartibi

  1. 1

    Sintaksisni tanlang

    Standart cron, soniyali cron, Quartz yoki AWS EventBridge ni tanlang — yoki shunchaki ifodani joylang, maydonlar soni oʻzi aniqlab beradi.

  2. 2

    Jadvalni yozing yoki tuzing

    Ifodani yozing, tayyor jadvaldan boshlang yoki har bir maydonni vizual muharrir bilan sozlang.

  3. 3

    Izohni oʻqing

    Ifoda siz nazarda tutgan maʼnoni berishiga ishonch hosil qilish uchun oddiy tildagi izoh va ajratilgan maydonlarni tekshiring.

  4. 4

    Keyingi ishga tushishlarni koʻring

    Vaqt mintaqasini tanlang, keyingi 10 ta ishga tushish vaqtini tasdiqlang, soʻng ifodani nusxalang.

Cheklovlar va Pro

Bepul, roʻyxatdan oʻtishsiz: 4 ta sintaksis, 12 ta tayyor jadval va 400 dan ortiq vaqt mintaqasidan istalganida keyingi 10 ta ishga tushish vaqti, 30 yil oldinga (yoki ifodaning oxirgi yiligacha) qidiriladi.

Pro reklamani olib tashlaydi; cron konstruktori har qanday tarifda bir xil ishlaydi. Pro tarifini koʻrish

Cron ifoda konstruktori haqida

Cron ifodasi jadvalni boʻsh joy bilan ajratilgan bir necha maydonga joylaydi va birgina notoʻgʻri turgan raqam “har ish kuni soat 9 da”ni “9-soatning har daqiqasida”ga aylantirib qoʻyishi mumkin. Bu vositada ifodani yozasiz yoki joylaysiz va uning oddiy tildagi izohini, har bir maydon nomi bilan birga darhol koʻrasiz, ostida esa keyingi oʻnta ishga tushish vaqti chiqadi.

Toʻrtta sintaksis qoʻllanadi, chunki ular rostdan ham farq qiladi. Standart cron besh maydondan iborat — daqiqa, soat, oy kuni, oy va hafta kuni — crontab, Linux cron demonlari, Kubernetes CronJob va GitHub Actions aynan shundan foydalanadi; u @daily kabi makroslarni ham qabul qiladi. Soniyali sintaksis node-cron va croner dagidek boshiga soniyalar maydonini qoʻshadi. Quartz soniya va ixtiyoriy yil bilan olti yoki yetti maydondan foydalanadi, yakshanbani 1 deb sanaydi, kun maydonlaridan birida ? boʻlishini talab qiladi va “oxirgi” uchun L, “eng yaqin ish kuni” uchun W, “uchinchi juma” uchun # ni qoʻshadi. AWS EventBridge yil bilan tugaydigan olti maydonga ega, kun qoidalari Quartz bilan bir xil va cron(…) koʻrinishida yoziladi. Ifoda joylanganda maydonlar soni aniq koʻrsatsa, sintaksis oʻzi almashadi, sintaksisni oʻzgartirsangiz esa mavjud ifoda imkon qadar oʻgiriladi.

Vizual muharrir har bir maydonni “har”, “har N”, “muayyan qiymatlar” va “oraliq” boshqaruvlari bilan sozlaydi, tayyor jadvallar esa koʻp uchraydigan vazifalarni qamrab oladi. Ishga tushish vaqtlari istalgan IANA vaqt mintaqasida, yozgi vaqtga oʻtishdagi boʻshliqlarni hisobga olib hisoblanadi; Toshkent (Asia/Tashkent) ham roʻyxatda bor. EventBridge qoidalari AWS ularni qanday baholasa, shunday UTC da koʻrsatiladi.

Vosita faqat sintaksis va vaqtni tekshiradi: serveringiz soatini, kompyuter oʻchiq paytida oʻtkazib yuborilgan ishga tushishlarni yoki GitHub ning eng qisqa oraligʻi kabi rejalashtiruvchiga xos cheklovlarni bilmaydi.

Maxfiylik

Ifodalar shu sahifadagi kod bilan tahlil qilinadi va ishga tushish vaqtlari brauzeringizdagi vaqt mintaqalari maʼlumoti asosida hisoblanadi: serverga hech narsa yuborilmaydi. Tanlangan sintaksis va vaqt mintaqasi keyingi tashrifingiz uchun lokal xotirada saqlanadi.

Imkoniyatlar

Tushunarli izoh

30 9 * * 1-5 nima qilishini taxmin qilish oʻrniga “Dushanbadan jumagacha, soat 09:30 da”.

Istalgan mintaqada keyingi 10 marta

UTC yoki istalgan IANA vaqt mintaqasida, yozgi vaqtga oʻtishlarni hisobga olgan holda.

Quartz va AWS sintaksisi

Ularni qoʻllaydigan rejalashtiruvchilar uchun soniya, yil, ?, L, W va #.

Cron ifoda konstruktori: koʻp beriladigan savollar

Nega vazifam kutganimdan koʻp kunlarda ishga tushyapti?
Standart cron da oy kuni va hafta kuni maydonlari ikkalasi ham cheklangan boʻlsa, vazifa ulardan istalgan biri mos kelganda ishlaydi. Shuning uchun 0 9 13 * 5 faqat 13-sanaga toʻgʻri kelgan jumada emas, har oyning 13-kunida va yana har juma ishlaydi. Bu yerdagi izoh buni aniq aytadi. Quartz va AWS bu noaniqlikning oldini olish uchun ikki maydondan birida ? boʻlishini talab qiladi.
Cron ifodasidagi */15 nimani bildiradi?
Qiya chiziq qadamni bildiradi: daqiqa maydonidagi */15 noldan boshlab har 15 daqiqada, yaʼni :00, :15, :30 va :45 da ishga tushishni anglatadi. Boshlanish qiymati uni suradi: 5/15 :05, :20, :35 va :50 da ishlaydi. Oraliq bilan birga soat maydonidagi 9-17/2 soat 9 dan 17 gacha har ikki soatda degani.
Cron qaysi vaqt mintaqasidan foydalanadi?
Klassik cron demoni, crontab da CRON_TZ yoki TZ belgilanmagan boʻlsa, serverning mahalliy vaqtidan foydalanadi. Kubernetes CronJob odatda kontroller mintaqasida ishlaydi, lekin timeZone maydonini qabul qiladi, GitHub Actions jadvallari UTC da, EventBridge qoidalari doim UTC da ishlaydi, EventBridge Scheduler esa mintaqa tanlashga imkon beradi. Haqiqiy vaqtlarni koʻrish uchun bu yerda mos mintaqani tanlang; masalan, Toshkent vaqti UTC+5.
Yozgi vaqtga oʻtish paytida nima boʻladi?
Soatlar oldinga surilganda tushib qolgan soatdagi mahalliy vaqtlar mavjud boʻlmaydi, orqaga surilganda esa bir soat ikki marta takrorlanadi. Bu koʻrinish mavjud boʻlmagan vaqtlarni oʻtkazib yuboradi, takrorlanganlarini esa bir marta ishga tushiradi. Haqiqiy demonlar har xil: Vixie cron va cronie tushib qolgan vazifalarni bajarishga urinadi, shuning uchun mahalliy vaqt bilan 01:00–03:00 dagi vazifalar uchun UTC ni tanlang yoki rejalashtiruvchingiz hujjatlarini tekshiring.
Crontab qatorini Quartz yoki AWS formatiga qanday oʻtkazaman?
Roʻyxatdan yangi sintaksisni tanlang, ifoda oʻzi oʻgiriladi: Quartz uchun soniyalar maydoni, AWS uchun yil maydoni qoʻshiladi, hafta kuni raqamlari 0–6 dan 1–7 ga oʻtadi va foydalanilmagan kun maydoniga ? qoʻyiladi. Asl ifodada oy kuni ham, hafta kuni ham belgilangan boʻlsa, yangi sintaksis bunday birikmani ifodalay olmasligi haqida xabar chiqadi.