Cron Expression Builder

GUI สร้าง cron schedule + next 5 runs + human-readable description

*/5 * * * *
Every 5 minutes

รองรับ cron 5 ฟิลด์มาตรฐาน: minute hour day-of-month month day-of-week

Cron Expression คืออะไร

Cron Expression คือสตริงสั้น ๆ ที่ใช้กำหนดตารางเวลารันงานอัตโนมัติบนระบบ Unix/Linux โดยประกอบด้วย 5 ฟิลด์ คั่นด้วยช่องว่าง ได้แก่ นาที (0–59), ชั่วโมง (0–23), วันที่ในเดือน (1–31), เดือน (1–12) และ วันในสัปดาห์ (0–7, 0 และ 7 คือ อาทิตย์) ตัวอักษรพิเศษอย่าง * หมายถึง "ทุกค่า", */n หมายถึง "ทุก n หน่วย" และ a,b หมายถึง "ค่า a หรือ b"

Cron ถูกใช้งานอย่างแพร่หลายในระบบปฏิบัติการ Linux ผ่าน crontab เพื่อรัน shell script หรือคำสั่งตามเวลาที่กำหนด นอกจากนี้ยังมีรูปแบบเดียวกันในบริการ Cloud อย่าง AWS EventBridge Scheduler ที่ใช้ cron สำหรับกำหนดตาราง Lambda function, GitHub Actions ที่รองรับ schedule: cron: '...' ใน workflow YAML รวมถึง Kubernetes CronJob ที่ใช้ฟิลด์ spec.schedule เพื่อสั่งรัน Pod ตามเวลา ทำให้ cron syntax กลายเป็นทักษะที่ DevOps Engineer และนักพัฒนาทุกคนควรเข้าใจ

เครื่องมือ Cron Expression Builder นี้ช่วยให้คุณสร้าง cron expression ได้ทันทีผ่าน GUI โดยไม่ต้องจำ syntax ทั้งหมด เพียงเลือกประเภท schedule ที่ต้องการ ระบบจะสร้าง expression ให้พร้อมแสดง next 5 runs เพื่อยืนยันว่าตารางเวลาถูกต้องก่อนนำไปใช้งานจริง

ตัวอย่าง Cron Expression ที่ใช้บ่อย

Expression ความหมาย
0 8 * * 1-5 ทุกวันจันทร์–ศุกร์ เวลา 08:00 น.
0 0 1 * * วันที่ 1 ของทุกเดือน เวลาเที่ยงคืน (00:00 น.)
*/15 * * * * ทุก 15 นาที ตลอด 24 ชั่วโมง
0 9,18 * * * 09:00 น. และ 18:00 น. ทุกวัน

เคล็ดลับการใช้งาน Cron

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

Cron Expression Builder ต่างจาก Cron Expression Generator อย่างไร?

Builder เน้นสร้าง expression ผ่าน GUI แบบ interactive เลือก mode (daily, weekly, monthly ฯลฯ) แล้วระบบสร้างให้อัตโนมัติ เหมาะกับผู้ที่ไม่ต้องการจำ syntax ส่วน Generator มักเน้นให้พิมพ์ cron โดยตรงแล้วอธิบายความหมาย ทั้งสองใช้งานร่วมกันได้

AWS EventBridge และ Kubernetes ใช้ cron format เดียวกับ Linux หรือเปล่า?

ใกล้เคียงแต่มีความแตกต่างเล็กน้อย AWS EventBridge ใช้ cron 6 ฟิลด์ (เพิ่ม year) และใช้ UTC เป็นค่าเริ่มต้น ส่วน Kubernetes CronJob ใช้ 5 ฟิลด์มาตรฐานเหมือน Linux crontab แต่ timezone ขึ้นอยู่กับ cluster configuration GitHub Actions ก็ใช้ 5 ฟิลด์มาตรฐานและรันบน UTC เสมอ

ทำไม cron ถึงไม่รันแม้ expression ดูถูกต้อง?

สาเหตุที่พบบ่อยได้แก่: 1) timezone ไม่ตรง — server ใช้ UTC แต่ตั้งเวลาตาม local time, 2) cron daemon ไม่ได้รัน — ตรวจสอบด้วย systemctl status cron, 3) script ไม่มีสิทธิ์รัน — ให้ chmod +x ก่อน, 4) path ใน script ใช้ relative path ที่ไม่ถูกต้องเมื่อรันจาก cron environment — ควรใช้ absolute path เสมอ

เครื่องมือที่เกี่ยวข้อง

📝 พรีวิว Markdown ⏰ สร้าง Cron Expression