ข้ามไปยังเนื้อหา

สร้างและอธิบาย cron expression

สร้างตารางเวลา cron แบบเห็นภาพ อ่านความหมายเป็นภาษาที่เข้าใจง่าย และดูตัวอย่างเวลารันครั้งถัดไปในเขตเวลาใดก็ได้ รองรับไวยากรณ์มาตรฐาน Quartz และ AWS ในเบราว์เซอร์ของคุณ

คำอธิบายแบบอ่านง่าย

At 09:30, on Monday through Friday

ค่าที่ตั้งไว้ล่วงหน้า

สร้างด้วยภาพ

10 รอบถัดไป

กำลังคำนวณ…

เวลาที่ถูกข้ามจากการเปลี่ยนเวลาออมแสงจะไม่ทำงาน ส่วนชั่วโมงที่เกิดซ้ำจะทำงานเพียงครั้งเดียว ซึ่ง cron daemon จริงอาจทำงานต่างออกไปเล็กน้อย

สรุปย่อ — มาตรฐาน
ฟิลด์ค่าที่ใช้ได้
นาที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 expression

  1. 1

    เลือกรูปแบบ

    เลือก cron มาตรฐาน, cron แบบมีวินาที, Quartz หรือ AWS EventBridge หรือจะวางนิพจน์แล้วให้จำนวนฟิลด์กำหนดรูปแบบให้ก็ได้

  2. 2

    เขียนหรือสร้างตารางเวลา

    พิมพ์นิพจน์ เริ่มจากค่าที่ตั้งไว้ล่วงหน้า หรือตั้งค่าแต่ละฟิลด์ด้วยตัวแก้ไขแบบภาพ

  3. 3

    อ่านผลที่ได้

    ตรวจคำอธิบายแบบอ่านง่ายและฟิลด์ที่ไฮไลต์ เพื่อให้แน่ใจว่าตรงกับที่ตั้งใจ

  4. 4

    ตรวจรอบถัดไป

    เลือกเขตเวลาและยืนยันเวลาที่ทำงาน 10 รอบถัดไป จากนั้นคัดลอกนิพจน์

ข้อจำกัดและ Pro

ใช้ฟรีโดยไม่ต้องสมัครสมาชิก: 4 รูปแบบ, 12 ค่าที่ตั้งไว้ล่วงหน้า และเวลาที่ทำงาน 10 รอบถัดไปในเขตเวลากว่า 400 แห่ง ค้นหาล่วงหน้าได้สูงสุด 30 ปี (หรือถึงปีสุดท้ายของนิพจน์)

Pro ช่วยเอาโฆษณาออก ส่วนตัวสร้างทำงานเหมือนกันทุกแพ็กเกจ ดู Pro

เกี่ยวกับ ตัวสร้าง cron expression

นิพจน์ cron รวมตารางเวลาไว้ในไม่กี่ฟิลด์ที่คั่นด้วยช่องว่าง และตัวเลขที่วางผิดตำแหน่งเพียงตัวเดียวก็เปลี่ยน “ทุกวันทำการเวลา 9 โมง” ให้กลายเป็น “ทุกนาทีของชั่วโมงที่ 9” ได้ ตัวสร้างนี้ให้คุณเขียนหรือวางนิพจน์ แล้วแสดงคำอธิบายแบบอ่านง่ายทันที พร้อมป้ายกำกับของแต่ละฟิลด์ และแสดงเวลาที่จะทำงาน 10 รอบถัดไป

รองรับ 4 รูปแบบ เพราะแต่ละแบบต่างกันจริง cron มาตรฐานมี 5 ฟิลด์ ได้แก่ นาที ชั่วโมง วันที่ของเดือน เดือน และวันในสัปดาห์ ใช้กับ crontab, cron daemon บน Linux, Kubernetes CronJob และ GitHub Actions และรองรับมาโครอย่าง @daily แบบมีวินาทีเพิ่มฟิลด์วินาทีไว้ข้างหน้า เช่นใน node-cron และ croner ส่วน Quartz ใช้ 6 หรือ 7 ฟิลด์ มีวินาทีและปีที่ไม่บังคับ นับวันอาทิตย์เป็น 1 ต้องมี ? ในฟิลด์วันฟิลด์ใดฟิลด์หนึ่ง และมี L สำหรับ “วันสุดท้าย” W สำหรับ “วันธรรมดาที่ใกล้ที่สุด” และ # สำหรับ “วันศุกร์ที่สาม” AWS EventBridge มี 6 ฟิลด์โดยลงท้ายด้วยปี ใช้กฎของวันเหมือน Quartz และเขียนในรูป cron(…) เมื่อวางนิพจน์ ระบบจะสลับรูปแบบให้หากจำนวนฟิลด์บ่งชี้ชัดเจน และเมื่อเปลี่ยนรูปแบบจะแปลงนิพจน์ที่มีอยู่ให้เท่าที่ทำได้

ตัวแก้ไขแบบภาพตั้งค่าแต่ละฟิลด์ด้วยตัวเลือก ทุก / ทุก N / ค่าที่เจาะจง / ช่วง และมีค่าที่ตั้งไว้ล่วงหน้าสำหรับงานทั่วไป เวลาที่ทำงานคำนวณได้ในเขตเวลา IANA ใดก็ได้ โดยคำนึงถึงช่วงเวลาที่ข้ามไปจากการปรับเวลาออมแสง และกฎของ EventBridge ใช้ UTC เป็นค่าเริ่มต้นตามที่ AWS ประเมิน

ตัวสร้างนี้ตรวจเฉพาะไวยากรณ์และเวลา ไม่ทราบนาฬิกาของเซิร์ฟเวอร์ รอบที่พลาดขณะเครื่องปิด หรือข้อจำกัดเฉพาะของตัวจัดตารางเวลา เช่นช่วงเวลาขั้นต่ำของ GitHub

ความเป็นส่วนตัว

นิพจน์ถูกแยกวิเคราะห์และเวลาที่ทำงานถูกคำนวณด้วยโค้ดในหน้านี้ โดยใช้ข้อมูลเขตเวลาของเบราว์เซอร์ จึงไม่มีสิ่งใดถูกส่งไปยังเซิร์ฟเวอร์ รูปแบบและเขตเวลาที่เลือกจะถูกเก็บไว้ในที่เก็บข้อมูลภายในเครื่องสำหรับการเข้าใช้ครั้งถัดไป

คุณสมบัติ

คำอธิบายที่อ่านง่าย

“เวลา 09:30 ตั้งแต่วันจันทร์ถึงวันศุกร์” แทนการเดาว่า 30 9 * * 1-5 ทำอะไร

10 รอบถัดไป ทุกเขตเวลา

เวลาที่ทำงานใน UTC หรือเขตเวลา IANA ใดก็ได้ พร้อมจัดการการเปลี่ยนเวลาออมแสง

รองรับไวยากรณ์ Quartz และ AWS

วินาที ปี ? L W และ # สำหรับตัวจัดตารางเวลาที่รองรับ

ตัวสร้าง cron expression: คำถามที่พบบ่อย

ทำไมงานของฉันจึงทำงานในวันมากกว่าที่คาดไว้?
ใน cron มาตรฐาน หากจำกัดทั้งฟิลด์วันที่ของเดือนและวันในสัปดาห์ งานจะทำงานเมื่อฟิลด์ใดฟิลด์หนึ่งตรงเงื่อนไข ดังนั้น 0 9 13 * 5 จะทำงานทุกวันที่ 13 และทุกวันศุกร์ด้วย ไม่ใช่เฉพาะวันศุกร์ที่ 13 คำอธิบายในหน้านี้ระบุเรื่องนี้ไว้ชัดเจน ส่วน Quartz และ AWS หลีกเลี่ยงความกำกวมโดยบังคับให้ใส่ ? ในฟิลด์ใดฟิลด์หนึ่งจากสองฟิลด์นี้
*/15 ในนิพจน์ cron หมายถึงอะไร?
เครื่องหมายทับคือขั้น */15 ในฟิลด์นาทีหมายถึงทุก 15 นาทีโดยเริ่มที่ 0 คือที่นาทีที่ 00, 15, 30 และ 45 หากใส่ค่าเริ่มต้นจะเลื่อนตำแหน่ง เช่น 5/15 ทำงานที่นาทีที่ 05, 20, 35 และ 50 เมื่อใช้ร่วมกับช่วง 9-17/2 ในฟิลด์ชั่วโมงหมายถึงทุก 2 ชั่วโมงตั้งแต่ 9 ถึง 17
cron ใช้เขตเวลาใด?
cron daemon แบบดั้งเดิมใช้เขตเวลาท้องถิ่นของเซิร์ฟเวอร์ เว้นแต่ crontab ตั้งค่า CRON_TZ หรือ TZ Kubernetes CronJob ใช้เขตเวลาของ controller เป็นค่าเริ่มต้นแต่รองรับฟิลด์ timeZone ส่วน GitHub Actions ทำงานใน UTC และกฎของ EventBridge ใช้ UTC เสมอ ขณะที่ EventBridge Scheduler ให้เลือกเขตเวลาได้ เลือกเขตเวลาที่ตรงกันในหน้านี้เพื่อดูตัวอย่างเวลาที่ทำงานจริง
จะเกิดอะไรขึ้นเมื่อมีการเปลี่ยนเวลาออมแสง?
เมื่อเลื่อนนาฬิกาไปข้างหน้า เวลาท้องถิ่นในชั่วโมงที่ถูกข้ามจะไม่มีอยู่ และเมื่อเลื่อนกลับ ชั่วโมงหนึ่งจะเกิดขึ้นสองครั้ง ตัวอย่างนี้จะข้ามเวลาที่ไม่มีอยู่และให้ทำงานครั้งเดียวสำหรับเวลาที่ซ้ำ daemon จริงทำงานต่างกัน Vixie cron และ cronie พยายามรันงานที่ถูกข้าม ดังนั้นสำหรับงานเวลา 01:00–03:00 ตามเวลาท้องถิ่น ควรใช้ UTC หรือตรวจเอกสารของตัวจัดตารางเวลา
จะแปลงบรรทัด crontab เป็นรูปแบบ Quartz หรือ AWS ได้อย่างไร?
เลือกรูปแบบใหม่จากรายการ แล้วนิพจน์จะถูกแปลงให้ โดยเพิ่มฟิลด์วินาทีสำหรับ Quartz เพิ่มฟิลด์ปีสำหรับ AWS เลื่อนตัวเลขวันในสัปดาห์จาก 0–6 เป็น 1–7 และใส่ ? ในฟิลด์วันที่ไม่ได้ใช้ หากต้นฉบับกำหนดทั้งวันที่ของเดือนและวันในสัปดาห์ ระบบจะแจ้งว่ารูปแบบปลายทางไม่รองรับการผสมนั้น
เครื่องมือสำหรับนักพัฒนา ทั้งหมด