เครื่องมือแปลความหมายนิพจน์ Cron
รูปแบบ: minute hour day-of-month month day-of-week
คุณได้รับไฟล์ crontab มา และพบว่ามันเต็มไปด้วยคำสั่งอย่าง 0 */2 * * 1-5, 15 4 1 * * และ */30 8-18 * * * เครื่องมือนี้รับนิพจน์ cron มาตรฐานแบบ 5 ฟิลด์ แล้วแสดงเป็นคำอธิบายภาษาอังกฤษที่เข้าใจง่าย เช่น “every 2 hours on weekdays” พร้อมระบุเวลาที่คำสั่งจะถูกเรียกใช้งานจริงอีก 5 ครั้งถัดไป มีประโยชน์อย่างยิ่งในการทำความเข้าใจตารางงานเก่า และตรวจสอบตารางงานใหม่ก่อนนำไปใช้จริง
วิธีแปลความหมายนิพจน์ Cron
-
1
วางนิพจน์
นิพจน์มาตรฐานแบบ 5 ฟิลด์ (`* * * * *`): นาที, ชั่วโมง, วันของเดือน, เดือน และวันในสัปดาห์
-
2
อ่านคำอธิบายภาษาอังกฤษ
เครื่องมือจะเรียบเรียงแต่ละฟิลด์เป็นภาษาอังกฤษที่เข้าใจง่าย เช่น "At minute 0, every 2 hours, on day(s) of week 1-5."
-
3
ตรวจสอบตัวอย่างการรันครั้งถัดไป
เวลาที่จะถูกเรียกใช้งานอีก 5 ครั้งถัดไป หากไม่ตรงกับที่คุณตั้งใจ ให้ปรับนิพจน์ให้ชัดเจนขึ้น
-
4
แก้ไขฟิลด์ที่ไม่ถูกต้อง
นิพจน์ที่มีจำนวนฟิลด์ไม่ถูกต้องหรือมีค่านอกช่วงจะถูกปฏิเสธพร้อมข้อความระบุฟิลด์ที่เป็นปัญหา
การถอดรหัสแต่ละฟิลด์
แต่ละฟิลด์มีช่วงค่าที่ถูกต้องและอักขระพิเศษเฉพาะของตนเอง:
| ฟิลด์ | ช่วงค่า | ไวลด์การ์ดที่รองรับ |
|---|---|---|
| นาที | 0-59 | * , - / |
| ชั่วโมง | 0-23 | * , - / |
| วันของเดือน | 1-31 | * , - / |
| เดือน | 1-12 | * , - / |
| วันในสัปดาห์ | 0-7 | * , - / |
*= ทุกค่า (*ในฟิลด์นาทีหมายถึงทุกนาที)1,5,10= รายการของค่า1-5= ช่วงของค่า*/15หรือ0-45/15= สเต็ป โดยนับจากจุดเริ่มต้นของช่วงค่าของฟิลด์- วันในสัปดาห์
0และ7ต่างก็หมายถึงวันอาทิตย์ จึงรองรับทั้งสองรูปแบบ ชื่อเดือนหรือชื่อวัน เช่น JAN หรือ MON ไม่รองรับ ให้ใช้ตัวเลขแทน
ตัวอย่างที่ถอดความแล้ว
| นิพจน์ | ความหมายภาษาอังกฤษ |
|---|---|
0 */2 * * 1-5 |
At minute 0 every 2 hours, Monday through Friday |
15 4 1 * * |
At 04:15 on the 1st day of every month |
*/30 8-18 * * * |
Every 30 minutes between 08:00 and 18:59 |
0 0 1,15 * * |
At midnight on the 1st and 15th of every month |
0 22 * * 0 |
At 22:00 every Sunday |
สิ่งที่เครื่องมือรองรับ
- 5 ฟิลด์พอดี: นาที, ชั่วโมง, วันของเดือน, เดือน และวันในสัปดาห์ นิพจน์ Quartz แบบ 6 หรือ 7 ฟิลด์ (ที่มีวินาทีหรือปี) จะถูกปฏิเสธ
- ช่วงค่าที่ถูกต้อง: แต่ละค่าต้องอยู่ในช่วงของฟิลด์นั้น เช่น นาที 0-59, ชั่วโมง 0-23, วันของเดือน 1-31, เดือน 1-12 และวันในสัปดาห์ 0-7
- สเต็ปที่เป็นบวก: ค่าหลัง
/ต้องเป็นจำนวนบวก (*/0จะถูกปฏิเสธ) - ไม่มีทางลัดแบบมีชื่อ:
@daily,@rebootและทางลัดอื่นๆ ไม่รองรับ ให้แปลงเป็นรูปแบบ 5 ฟิลด์ก่อน (เช่น@daily=0 0 * * *)
การใช้วันของเดือนร่วมกับวันในสัปดาห์
เมื่อตั้งทั้งวันของเดือนและวันในสัปดาห์ เครื่องมือนี้จะกำหนดเวลารันเฉพาะเมื่อทั้งสองตรงกันเท่านั้น 0 0 1 * MON จึงทำงานเฉพาะวันที่ 1 ตรงกับวันจันทร์ ส่วนการใช้งาน cron ส่วนใหญ่ใน Linux จะถือว่าทั้งสองฟิลด์เป็นแบบ OR (งานจะรันเมื่ออย่างใดอย่างหนึ่งตรง) ดังนั้นควรตรวจสอบนิพจน์กับตัวจัดตารางที่คุณใช้จริง
หมายเหตุเรื่องเขตเวลา
เวลาที่แสดงในตัวอย่างคำนวณจากนาฬิกาของเซิร์ฟเวอร์ ซึ่งทำงานในโซน UTC หาก crontab ของคุณรันบนเครื่องในเขตเวลาอื่น เวลาที่แสดงที่นี่อาจต่างจากเวลาบนเครื่องนั้น
คำถามที่พบบ่อย
ไม่ได้ รองรับเฉพาะนิพจน์มาตรฐานแบบ 5 ฟิลด์เท่านั้น นิพจน์ Quartz ที่มีวินาที (6 ฟิลด์) หรือมีปี (7 ฟิลด์) จะถูกปฏิเสธพร้อมข้อความแสดงข้อผิดพลาด
โดยปกติเกิดจากสาเหตุใดสาเหตุหนึ่งต่อไปนี้: ตัวอย่างใช้นาฬิกาของเซิร์ฟเวอร์ในโซน UTC แต่ crontab ของคุณรันในเขตเวลาอื่น, มีการตั้งทั้งวันของเดือนและวันในสัปดาห์พร้อมกัน (เครื่องมือนี้กำหนดให้ทั้งสองต้องตรงกัน), หรือสเต็ปที่เริ่มนับใหม่ทุกชั่วโมงหรือทุกวัน
ได้ หากเป็นนิพจน์มาตรฐานแบบ 5 ฟิลด์ ซึ่งคือสิ่งที่ Kubernetes ใช้ (UTC เป็นค่าเริ่มต้น) โปรดทราบว่าตัวอย่างที่นี่ใช้นาฬิกาของเซิร์ฟเวอร์ในโซน UTC หากคลัสเตอร์รันในเขตเวลาอื่น เวลาอาจต่างกัน
Linux Cron รองรับทางลัดที่ระบุชื่อได้ ได้แก่ @reboot (เมื่อเริ่มต้นระบบ), @yearly / @annually (0 0 1 1 *), @monthly, @weekly, @daily และ @hourly เครื่องมือนี้ไม่รองรับทางลัดเหล่านี้ ให้แปลงทางลัดเป็นนิพจน์ 5 ฟิลด์ที่เทียบเท่ากันก่อนวางที่นี่
เครื่องมือที่เกี่ยวข้อง
ตารางอ้างอิง 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