เครื่องสร้างนิพจน์ 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 ของทุกเดือนเลือกได้ด้วยคลิกเดียว สำหรับกรณีอื่น ๆ ให้กรอกค่าใน 5 ช่องโดยตรง
-
2
ปรับแต่งตารางเวลา
ระบุได้อย่างละเอียด ทั้งนาที ชั่วโมง วันที่ในเดือน เดือน และวันในสัปดาห์ รองรับทั้งช่วง (9-17), รายการ (1,15) และสเต็ป (*/6)
-
3
อ่านนิพจน์
เครื่องมือจะแสดงรูปแบบ cron มาตรฐานแบบ 5 ฟิลด์เสมอ พร้อมคำอธิบายความหมายของตารางเวลาด้วยภาษาที่อ่านเข้าใจง่าย
-
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
ตัวลดรูปพีชคณิตบูลีน
ประเมินนิพจน์บูลีนสำหรับทุกชุดอินพุตและดูตารางค่าความจริงที่สมบูรณ์ รองรับตัวแปรสูงสุดห้าตัวและตัวดำเนินการ &, |, !, ^
เครื่องสร้างตัวอักษรสุ่ม
สร้างตัวอักษร A-Z แบบสุ่ม เลือกจำนวน ตัวพิมพ์ใหญ่ ตัวพิมพ์เล็ก หรือแบบผสม แล้วใช้กับเกม โจทย์ หรือกิจกรรมในห้องเรียน
เครื่องมือตรวจสอบหมายเลขโทรศัพท์
ตรวจสอบโครงสร้างหมายเลขตามประเทศ พร้อมดูภูมิภาค ประเภท และรูปแบบ E.164 ระหว่างประเทศ ในประเทศ และ RFC 3966