ตัวสร้างนิพจน์ cron

เขียนและอ่านตารางเวลา crontab พิมพ์นิพจน์ cron แล้วดูเป็นคำพูดว่ามันทำงานเมื่อใด เวลาทำงานครั้งถัดไป และแต่ละช่องในห้าช่องหมายถึงอะไร

นาที
ชั่วโมง
วัน
เดือน
วันในสัปดาห์

ทุกนาที

การทำงานครั้งถัดไป


  •  
  •  
  •  
  •  
  •  

เวลาที่แสดงอยู่ในเขตเวลาของเครื่องคุณ () ส่วน cron ใช้เขตเวลาของเซิร์ฟเวอร์ ซึ่งบ่อยครั้งไม่ใช่เขตเดียวกัน

ตารางเวลาที่ใช้บ่อย


เลือกหนึ่งรายการเพื่อใส่ลงในช่องด้านบน

* * * * *ทุกนาที
*/5 * * * *ทุก 5 นาที
*/15 * * * *ทุก 15 นาที
*/30 * * * *ทุกครึ่งชั่วโมง
0 * * * *ทุกชั่วโมง
0 */2 * * *ทุก 2 ชั่วโมง
0 */6 * * *ทุก 6 ชั่วโมง
0 */12 * * *วันละสองครั้ง
0 0 * * *ทุกวันตอนเที่ยงคืน
0 9 * * *ทุกวันตอน 9 โมงเช้า
0 9 * * 1-5วันจันทร์ถึงวันศุกร์ตอน 9 โมงเช้า
0 9 * * 6,0วันเสาร์และวันอาทิตย์ตอน 9 โมง
0 0 * * 1ทุกวันจันทร์ตอนเที่ยงคืน
0 18 * * 5ทุกวันศุกร์ตอน 6 โมงเย็น
0 0 1 * *วันแรกของเดือน
0 0 1 1 *วันแรกของปี

ความหมายของแต่ละช่อง


ช่องค่าที่ยอมรับ
นาที0 – 59
ชั่วโมง0 – 23
วันที่ของเดือน1 – 31
เดือน1 – 12, JAN – DEC
วันในสัปดาห์0 – 6, SUN – SAT (0 = 7)

อักขระพิเศษ


อักขระความหมาย
*ค่าใดก็ได้
,คั่นค่าต่าง ๆ ในรายการ
-ช่วงของค่า
/ก้าวภายในช่วง

ทางลัด


@yearly, @annually0 0 1 1 *
@monthly0 0 1 * *
@weekly0 0 * * 0
@daily, @midnight0 0 * * *
@hourly0 * * * *
@reboot

ไม่ได้เป็นส่วนหนึ่งของ cron ตามมาตรฐาน POSIX แต่แทบทุกการนำไปใช้งานยอมรับ

จุดที่คนมักพลาด


  • เมื่อวันที่ของเดือนและวันในสัปดาห์ถูกจำกัดทั้งคู่ cron จะทำงานในวันที่ตรงกับอย่างใดอย่างหนึ่ง ไม่ใช่ทั้งสองอย่างพร้อมกัน "* * 3 * 1" ทำงานในวันที่ 3 ของเดือนและทุกวันจันทร์ ข้อยกเว้นคือเมื่อช่องใดช่องหนึ่งขึ้นต้นด้วยเครื่องหมายดอกจัน: "* * */2 * 1" ทำงานเฉพาะวันที่เป็นเลขคี่ซึ่งเป็นวันจันทร์ด้วย หน้าคู่มืออธิบายเรื่องนี้ผิด
  • ให้เซิร์ฟเวอร์และ cron ทำงานด้วยเวลา UTC ตารางเวลาที่เขียนในเขตที่ใช้เวลาออมแสงจะข้ามการทำงานหนึ่งครั้งต่อปีและทำซ้ำอีกครั้งเมื่อเปลี่ยนกลับ
  • cron มาตรฐานไม่มีช่องสำหรับวินาทีหรือปี ถ้าคุณต้องการความละเอียดระดับนั้น cron ไม่ใช่เครื่องมือที่ถูกต้อง
  • เลี่ยง @reboot เพราะขึ้นอยู่กับว่าเครื่องถูกเริ่มใหม่อย่างไรและบริการใดพร้อมแล้วในตอนนั้น ทำให้คาดเดาได้ยาก
  • ตารางเวลาที่ไม่พอดีกับห้าช่องสามารถแบ่งเป็นสองบรรทัดได้ หากต้องการให้ทำงานทุก 90 นาที ให้เขียน "0 */3 * * *" และ "30 1/3 * * *" คู่กัน
  • เขียนคำสั่งด้วยเส้นทางแบบเต็ม cron ทำงานด้วย PATH ที่สั้นมากและแทบไม่มีตัวแปรสภาพแวดล้อมที่เชลล์ของคุณมี

คำถามที่พบบ่อยเกี่ยวกับนิพจน์ cron


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

วันอาทิตย์คือ 0 หรือ 7
ทั้งสองอย่าง การนำไปใช้งานส่วนใหญ่ยอมรับทั้ง 0 และ 7 สำหรับวันอาทิตย์ รวมถึงชื่อย่อสามตัวอักษรตั้งแต่ SUN ถึง SAT

ทำไมงานของฉันไม่ทำงานในเวลาที่คาดไว้
เหตุผลที่พบบ่อยคือเซิร์ฟเวอร์อยู่คนละเขตเวลา กฎเรื่องวันที่ของเดือนกับวันในสัปดาห์ข้างต้น หรือคำสั่งล้มเหลวเพราะ cron ไม่ได้โหลดโปรไฟล์เชลล์ของคุณ

หน้านี้ส่งนิพจน์ของฉันไปที่ใดหรือไม่
ไม่ นิพจน์ถูกอ่านและคำนวณเวลาทำงานในเบราว์เซอร์ของคุณ ไม่มีการอัปโหลดใด ๆ

Wikipedia — Cron
Wikipedia — Crontab
Wikipedia — Daemon