เครื่องมือแปลความหมายนิพจน์ 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. 1

    วางนิพจน์

    นิพจน์มาตรฐานแบบ 5 ฟิลด์ (`* * * * *`): นาที, ชั่วโมง, วันของเดือน, เดือน และวันในสัปดาห์

  2. 2

    อ่านคำอธิบายภาษาอังกฤษ

    เครื่องมือจะเรียบเรียงแต่ละฟิลด์เป็นภาษาอังกฤษที่เข้าใจง่าย เช่น "At minute 0, every 2 hours, on day(s) of week 1-5."

  3. 3

    ตรวจสอบตัวอย่างการรันครั้งถัดไป

    เวลาที่จะถูกเรียกใช้งานอีก 5 ครั้งถัดไป หากไม่ตรงกับที่คุณตั้งใจ ให้ปรับนิพจน์ให้ชัดเจนขึ้น

  4. 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