DevToolPal
ไทย

ตัวแปลความหมายนิพจน์ Cron

อธิบายนิพจน์ Cron ให้เข้าใจง่าย และแสดงเวลาที่จะรันครั้งถัดไปตามเขตเวลาของคุณหรือ UTC

ทำงานในเครื่อง ไม่มีการอัปโหลด

ตัวเลือก

เขตเวลา

นิพจน์ Cron

ผลลัพธ์

ผลลัพธ์จะแสดงที่นี่

ทำอะไรได้

ตัวแปลความหมายนิพจน์ Cron อธิบายตารางเวลาของ Cron เป็นภาษาที่อ่านเข้าใจง่าย และแสดงเวลาที่จะรันครั้งถัดไป ไวยากรณ์ของ Cron กระชับแต่พลาดได้ง่าย: 0 9 * * 1-5 คือเก้าโมงเช้าวันทำงาน หรือทุกนาทีในช่วงเก้าโมง? วางนิพจน์ที่นี่ก่อน deploy เพื่อตรวจว่ามันทำงานเมื่อไรแน่

แต่ละฟิลด์จากทั้งห้าฟิลด์ยังถูกแจกแจงเป็นค่าที่อนุญาตจริง ทำให้เห็นข้อผิดพลาดในช่วงค่าและขั้น (step) ได้ง่าย

วิธีใช้งาน

  1. พิมพ์นิพจน์ Cron ลงในช่องอินพุต หรือคลิก ตัวอย่าง
  2. อ่านคำอธิบายและตารางฟิลด์ ข้อผิดพลาดจะชี้ไปที่ฟิลด์และคอลัมน์ที่ผิด เช่น ชั่วโมงเป็น 24
  3. เลือก เวลาท้องถิ่น หรือ UTC สำหรับรอบการรันที่จะมาถึง และจำนวนรอบที่ต้องการแสดง

ไวยากรณ์ Cron

นิพจน์ Cron มีห้าฟิลด์คั่นด้วยช่องว่าง:

┌───────────── minute (0–59)
│ ┌─────────── hour (0–23)
│ │ ┌───────── day of month (1–31)
│ │ │ ┌─────── month (1–12 or JAN–DEC)
│ │ │ │ ┌───── day of week (0–7 or SUN–SAT, 0 and 7 are Sunday)
│ │ │ │ │
* * * * *
สัญลักษณ์ความหมายตัวอย่าง
*ทุกค่า* ในฟิลด์ชั่วโมง = ทุกชั่วโมง
,รายการ1,15 = วันที่ 1 และ 15
-ช่วงMON-FRI = วันจันทร์ถึงวันศุกร์
/ขั้น*/15 = ทุก 15 นาที

รองรับคำย่อด้วย: @hourly, @daily (หรือ @midnight), @weekly, @monthly และ @yearly (หรือ @annually)

ตัวอย่าง

นิพจน์รันเมื่อ
*/5 * * * *ทุก 5 นาที
0 * * * *ต้นชั่วโมงทุกชั่วโมง
0 9 * * 1-5เวลา 09:00 ในวันทำงาน
30 2 1 * *เวลา 02:30 ของวันแรกของทุกเดือน
0 0 * * 0เที่ยงคืนทุกวันอาทิตย์

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

› เครื่องมือนี้ใช้รูปแบบ Cron แบบไหน?

ใช้รูปแบบ Unix (Vixie) cron มาตรฐานห้าฟิลด์ ที่ใช้ใน crontab, Kubernetes CronJob, GitHub Actions และตัวจัดตารางงานส่วนใหญ่ ไม่รองรับรูปแบบหกฟิลด์ที่มีวินาที (Quartz, Spring)

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

Cron มาตรฐานจะรันงานเมื่อฟิลด์ใดฟิลด์หนึ่งตรง เช่น 0 0 1,15 * 5 จะรันในวันที่ 1 และ 15 ของทุกเดือน และทุกวันศุกร์

› ทำไมเวลารันบนเซิร์ฟเวอร์ของฉันถึงต่างออกไป?

Cron ใช้เขตเวลาของเครื่องหรือบริการที่รันมัน GitHub Actions และตัวจัดตารางงานบนคลาวด์ส่วนใหญ่ใช้ UTC ให้สลับเขตเวลาเป็น UTC เพื่อดูว่าจะรันเมื่อไร

› ใช้ชื่ออย่าง MON หรือ JAN ได้หรือไม่?

ได้ ฟิลด์เดือนรับ JAN–DEC และฟิลด์วันในสัปดาห์รับ SUN–SAT ไม่สนตัวพิมพ์เล็กหรือใหญ่ วันอาทิตย์เขียนเป็น 0 หรือ 7 ก็ได้