เครื่องมือสร้าง Cron Expression

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

ทุก 5 นาที.
ตัวอย่างที่ใช้กันทั่วไป

สร้าง Cron Expression ได้ทันที

กำหนดค่าในแต่ละฟิลด์ — นาที ชั่วโมง วันในเดือน เดือน และวันในสัปดาห์ — แล้วรับบรรทัด crontab ที่พร้อมใช้งาน พร้อมคำอธิบายเป็นภาษาที่เข้าใจง่าย

ทุกอย่างทำงานอยู่ในเบราว์เซอร์ของคุณโดยตรง — ไม่มีการส่งข้อมูลไปที่ใดเลย และไม่มีการจัดเก็บตารางเวลาใด ๆ

Cron Expression คืออะไร?

Cron expression คือรูปแบบที่มี 5 ฟิลด์ ซึ่งระบบที่คล้าย Unix ใช้ในการตั้งเวลาให้คำสั่งทำงานโดยอัตโนมัติตามเวลา วันที่ หรือช่วงเวลาที่กำหนดไว้

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

ไวยากรณ์ของฟิลด์ Cron

นาที 0–59
ชั่วโมง 0–23
วันในเดือน 1–31
เดือน 1–12
วันในสัปดาห์ 0–6 (0 = วันอาทิตย์)

อักขระพิเศษ

* ค่าใดก็ได้ — ตรงกับทุกค่าที่เป็นไปได้ของฟิลด์นั้น
, ตัวคั่นรายการค่า — เช่น 1,15 หมายถึงวันที่ 1 และวันที่ 15
- ช่วงของค่า — เช่น 1-5 หมายถึงตั้งแต่วันจันทร์ถึงวันศุกร์
/ ค่าขั้นตอน — เช่น */15 หมายถึงทุก 15 หน่วย

ทำไมต้องใช้เครื่องมือสร้าง Cron?

  • หลีกเลี่ยงข้อผิดพลาดทางไวยากรณ์ที่ทำให้งานที่ตั้งเวลาไว้หยุดทำงานโดยไม่รู้ตัว
  • ดูคำอธิบายเป็นภาษาที่เข้าใจง่ายก่อนนำตารางเวลาไปใช้งานจริง
  • เริ่มต้นจากตัวอย่างที่ใช้กันทั่วไปแทนการเขียนขึ้นมาใหม่ทั้งหมด
  • รับบรรทัด crontab ที่พร้อมวางใช้งานได้ทันที พร้อมคำสั่งเสริมที่ไม่บังคับ
  • ไม่ต้องติดตั้งโปรแกรมหรือสร้างบัญชีใด ๆ

วิธีสร้าง Cron Expression

  1. กำหนดฟิลด์นาที ชั่วโมง วัน เดือน และวันในสัปดาห์ — หรือเลือกตัวอย่างที่ใช้กันทั่วไป
  2. เพิ่มคำสั่งที่ต้องการรันได้ตามต้องการ (ไม่บังคับ)
  3. ตรวจสอบคำอธิบายเป็นภาษาที่เข้าใจง่ายเพื่อยืนยันว่าตารางเวลาถูกต้อง
  4. คัดลอกบรรทัด crontab แล้วนำไปวางในไฟล์ crontab ของคุณ

แนวทางปฏิบัติที่ดีสำหรับ Cron

ควรเลือกเวลาที่เจาะจงมากกว่าการตั้งตารางเวลาที่ถี่เกินไป — การรันงานทุกนาทีในขณะที่ทุก 5 หรือ 15 นาทีก็เพียงพอแล้ว เป็นการสิ้นเปลืองทรัพยากร

เมื่องานหนึ่งขึ้นอยู่กับทั้งวันในเดือนและวันในสัปดาห์ ควรจำไว้ว่า cron ส่วนใหญ่จะปฏิบัติต่อสองฟิลด์นี้แบบ OR ไม่ใช่ AND

บันทึกผลลัพธ์ของงานที่ตั้งเวลาไว้เสมอ (เช่น การเปลี่ยนทางไปยังไฟล์) เพื่อไม่ให้ความล้มเหลวหลุดรอดไปโดยไม่มีใครสังเกตเห็น

กรณีการใช้งานทั่วไป

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

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

งาน cron ทำงานตามเขตเวลาใด?

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

Cron expression สามารถระบุวินาทีได้หรือไม่?

Cron แบบมาตรฐานของ Unix รองรับเพียง 5 ฟิลด์เท่านั้น (นาทีขึ้นไป) โดยไม่มีฟิลด์วินาที ตัวจัดการตารางเวลาบางตัว เช่น Quartz รองรับฟิลด์วินาทีที่เป็นตัวเลือกเพิ่มเติม แต่นั่นเป็นรูปแบบที่แตกต่างออกไป

จะเกิดอะไรขึ้นถ้าฉันกำหนดทั้งวันในเดือนและวันในสัปดาห์?

การทำงานของ cron ส่วนใหญ่จะรันงานเมื่อเงื่อนไขใดเงื่อนไขหนึ่งตรงกัน (แบบ OR ไม่ใช่ AND) หากต้องการให้รันเฉพาะวันที่ที่เจาะจงและตรงกับวันในสัปดาห์ที่เจาะจงด้วย โดยทั่วไปคุณจะต้องเพิ่มตรรกะเสริมไว้ในสคริปต์เอง

ฉันจะทดสอบ cron expression ก่อนนำไปใช้งานจริงได้อย่างไร?

ตรวจสอบคำอธิบายเป็นภาษาที่เข้าใจง่ายที่แสดงไว้ที่นี่เพื่อยืนยันว่าตรงกับความต้องการของคุณ จากนั้นทดสอบยืนยันบนระบบจริงของคุณด้วยตารางเวลาทดสอบระยะสั้นก่อนนำไปใช้งานจริง

ฉันควรใช้ cron หรือ systemd timers?

Cron มีความเรียบง่ายและใช้งานได้กับทุกระบบ จึงเหมาะอย่างยิ่งสำหรับงานที่ต้องทำซ้ำแบบไม่ซับซ้อน ส่วน systemd timers มีการควบคุมที่มากกว่า (การกำหนดความสัมพันธ์ระหว่างงาน การบันทึกล็อก การจัดการงานที่พลาดกำหนดเวลา) และเป็นตัวเลือกที่ดีสำหรับระบบที่ใช้ systemd อยู่แล้ว

บนสุด