เครื่องสร้างนิพจน์ Cron

0-59

0-23

1-31

1-12

0-7 (0,7=อา.)

ถัดไป

ไวยากรณ์ของ cron นั้นกระชับและเขียนผิดได้ง่าย: 0 */6 * * * คือการรันทุก 6 ชั่วโมง แต่ */6 0 * * * จะรันทั้งหมด 10 ครั้ง เฉพาะในชั่วโมงแรกหลังเที่ยงคืนเท่านั้น เครื่องมือนี้ให้คุณเลือกตารางเวลาแบบเห็นภาพ (เช่น ทุก 15 นาที, วันธรรมดาเวลา 09.00 น., วันที่ 1 ของทุกเดือน) แล้วแสดงนิพจน์ที่ถูกต้อง พร้อมคำอธิบายความหมายด้วยภาษาที่อ่านเข้าใจง่าย

วิธีการสร้างสูตร Cron

  1. 1

    เลือกพรีเซ็ตหรือกรอกฟิลด์เอง

    ทุกนาที ทุกชั่วโมง ทุกวันตอนเที่ยงคืน ทุกสัปดาห์ในวันอาทิตย์ และวันที่ 1 ของทุกเดือนเลือกได้ด้วยคลิกเดียว สำหรับกรณีอื่น ๆ ให้กรอกค่าใน 5 ช่องโดยตรง

  2. 2

    ปรับแต่งตารางเวลา

    ระบุได้อย่างละเอียด ทั้งนาที ชั่วโมง วันที่ในเดือน เดือน และวันในสัปดาห์ รองรับทั้งช่วง (9-17), รายการ (1,15) และสเต็ป (*/6)

  3. 3

    อ่านนิพจน์

    เครื่องมือจะแสดงรูปแบบ cron มาตรฐานแบบ 5 ฟิลด์เสมอ พร้อมคำอธิบายความหมายของตารางเวลาด้วยภาษาที่อ่านเข้าใจง่าย

  4. 4

    ตรวจสอบสำเนียง

    สำเนียงแต่ละแบบต่างกัน (Quartz, AWS EventBridge, Kubernetes) ตรวจสอบว่านิพจน์ตรงกับสิ่งที่ตัวกำหนดเวลาของคุณต้องการ

ห้าฟิลด์

*  *  *  *  *
│  │  │  │  │
│  │  │  │  └── วันในสัปดาห์ (0-6, อาทิตย์=0, หรือ SUN-SAT)
│  │  │  └───── เดือน (1-12, หรือ JAN-DEC)
│  │  └──────── วันที่ในเดือน (1-31)
│  └─────────── ชั่วโมง (0-23)
└────────────── นาที (0-59)

แต่ละฟิลด์รองรับค่าต่อไปนี้:

  • ตัวเลขเฉพาะ: 5
  • รายการ: 1,15,30
  • ช่วง: 9-17
  • สเต็ป: */10 (ทุก ๆ 10) หรือ 0-30/5 (ทุก ๆ 5 ตั้งแต่ 0 ถึง 30)
  • ไวลด์การ์ด: * (ทุกค่า)

นิพจน์ที่ใช้บ่อย

ตารางเวลา นิพจน์ Cron
ทุกนาที * * * * *
ทุก 15 นาที */15 * * * *
ทุกชั่วโมงตรง 0 * * * *
ทุก 6 ชั่วโมง 0 */6 * * *
ทุกวันเวลา 02.30 น. 30 2 * * *
ทุกวันธรรมดาเวลา 09.00 น. 0 9 * * 1-5
ทุกวันจันทร์เวลา 08.00 น. 0 8 * * 1
วันที่ 1 ของทุกเดือนเวลา 03.00 น. 0 3 1 * *
ทุก 15 นาที วันธรรมดาเวลา 9-17 น. */15 9-17 * * 1-5
เที่ยงวันของวันที่ 1 และ 15 0 12 1,15 * *
ทุกวันอาทิตย์ตอนเที่ยงคืน 0 0 * * 0

กับดักของวันที่ในเดือน + วันในสัปดาห์

ใน cron มาตรฐาน หากระบุทั้งวันที่ในเดือนและวันในสัปดาห์ (ไม่ใช่ *) งานจะรันเมื่อค่าใดค่าหนึ่งตรงตามเงื่อนไข (เป็น OR ไม่ใช่ AND) 0 0 1 * MON จะรันในวันที่ 1 ของทุกเดือน และ ทุกวันจันทร์ ไม่ใช่เฉพาะเมื่อวันที่ 1 ตรงกับวันจันทร์เท่านั้น

Vixie cron และลินุกซ์ส่วนใหญ่ใช้กฎ OR นี้ ส่วน Quartz (Java) และบางระบบใช้ AND หากไม่แน่ใจ ให้ทดสอบนิพจน์ด้วยการรันแบบทดลอง (dry run) หรืองานทดสอบในตัวกำหนดเวลาของคุณ

ความแตกต่างของสำเนียง

  • cron มาตรฐาน (Linux): 5 ฟิลด์ วันในสัปดาห์ 0-6 (วันอาทิตย์ = 0 หรือ 7)
  • Quartz (Spring, แอป Java): 6-7 ฟิลด์ โดยฟิลด์แรกเป็นวินาที และมีปีแบบไม่บังคับ วันในสัปดาห์ 1-7 (วันอาทิตย์ = 1)
  • AWS EventBridge cron: 6 ฟิลด์ รวมปี วันในสัปดาห์และวันที่ในเดือนต้องไม่ระบุพร้อมกัน (อย่างใดอย่างหนึ่งต้องเป็น ?)
  • GitHub Actions: 5 ฟิลด์มาตรฐาน ช่วงเวลาขั้นต่ำ 5 นาที รองรับเฉพาะ UTC
  • Kubernetes CronJob: 5 ฟิลด์มาตรฐาน ใช้ UTC เป็นค่าเริ่มต้น

ตรวจสอบให้แน่ใจเสมอว่าตัวจัดตารางเวลาของคุณใช้สำเนียงแบบใด

เขตเวลา

cron แบบดั้งเดิมจะทำงานตามเขตเวลาท้องถิ่นของเซิร์ฟเวอร์ ซึ่งสร้างปัญหาอย่างมากในช่วงเปลี่ยนเวลาออมแสง (DST): งานที่ตั้งไว้เวลา 02.30 น. อาจรันสองครั้งหรือไม่รันเลยในวันที่เปลี่ยนเวลา ตัวจัดตารางเวลารุ่นใหม่ (systemd timers, Kubernetes, EventBridge) ให้คุณระบุเขตเวลาได้อย่างชัดเจน ควรใช้ UTC เว้นแต่จะมีเหตุผลที่ดีที่จะไม่ใช้

คำถามที่พบบ่อย

หมายถึงทุก ๆ 5 หน่วยของฟิลด์นั้น โดยเริ่มจาก 0 ในฟิลด์นาที */5 จะรันที่นาทีที่ 0, 5, 10, 15, …, 55 เป็นรูปย่อของ 0,5,10,15,20,25,30,35,40,45,50,55

cron ไม่สามารถแสดงช่วงเวลาตามอำเภอใจที่หารด้วย 60 นาทีหรือ 24 ชั่วโมงไม่ลงตัวได้ สำหรับ 90 นาที ให้ระบุเวลาที่จะรันโดยเฉพาะ เช่น 0 0,9 * * * ร่วมกับบรรทัดเพิ่มเติม หรือเปลี่ยนไปใช้ตัวจัดตารางเวลาที่รองรับช่วงเวลาตามอำเภอใจ เช่น systemd timers หรือ anacron

เที่ยงคืน ลำดับของฟิลด์คือ นาที-ชั่วโมง ดังนั้น 0 0 หมายถึง “นาทีที่ 0 ของชั่วโมงที่ 0” ส่วนเที่ยงวันจะเป็น 0 12 * * *

cron มาตรฐานจะข้ามงานนั้นไป การรันที่พลาดไปจะไม่ลองใหม่ ส่วน Anacron จะรันงานรายวัน รายสัปดาห์ หรือรายเดือนที่พลาดไปในการบูตครั้งถัดไป สำหรับ Kubernetes CronJob มี startingDeadlineSeconds และ concurrencyPolicy สำหรับจัดการกับช่วงเวลาที่พลาดไปอย่างชัดเจน

เครื่องมือที่เกี่ยวข้อง

ตารางอ้างอิง ASCII

ตาราง ASCII ครบตั้งแต่ 0 ถึง 127 พร้อมค่าเลขฐานสิบ ฐานสิบหก ฐานแปด ฐานสอง และรูปแบบการอ้างอิงอักขระแบบตัวเลขของ HTML รวม NUL, LF และ DEL

อ้างอิงตัวอักษร HTML

รายการที่สามารถค้นหาได้ขององค์ประกอบ HTML พร้อมรหัสชื่อและรหัสตัวเลข รวมถึงฟังก์ชันสำเนาด้วยคลิกเดียวสำหรับตัวอักษรพิเศษและสัญลักษณ์ต่างๆ

ตารางอ้างอิงแป้นพิมพ์ลัด

ค้นหาแป้นพิมพ์ลัดเริ่มต้นตามเอกสารของ VS Code, Chrome และ Bash ที่ใช้ GNU Readline บน macOS, Windows และ Linux

เครื่องสุ่มที่อยู่

สร้างระเบียนคล้ายที่อยู่ 1–20 รายการสำหรับแบบจำลองและการทดสอบ ด้วยรูปแบบประเทศแบบย่อ

ตัวตรวจสอบความถูกต้องของ JSON

ตรวจสอบไวยากรณ์ JSON และตรวจจับเครื่องหมายจุลภาคต่อท้าย เครื่องหมายอัญประกาศที่ผิด คีย์ซ้ำ และโครงสร้างที่ผิดรูปแบบ พร้อมระบุตำแหน่งข้อผิดพลาดอย่างแม่นยำ

ตัวลดรูปพีชคณิตบูลีน

ประเมินนิพจน์บูลีนสำหรับทุกชุดอินพุตและดูตารางค่าความจริงที่สมบูรณ์ รองรับตัวแปรสูงสุดห้าตัวและตัวดำเนินการ &, |, !, ^

เครื่องมือนี้มีให้บริการในภาษาอื่น