DevToolPal
ไทย

นิพจน์ Cron

ทุก 30 วินาที

cron ตั้งเวลาต่ำกว่าหนึ่งนาทีไม่ได้ วิธีที่นิยมคือเขียน crontab สองบรรทัด บรรทัดแรกรันตอนต้นนาที อีกบรรทัด sleep 30 วินาทีก่อนรัน

* * * * * เปิดในเครื่องมือแยกวิเคราะห์ Cron

cron มาตรฐานไม่มีฟิลด์วินาที สองบรรทัดนี้ทำให้รันนาทีละสองครั้ง Quartz และ Spring รองรับวินาทีโดยตรง ส่วน Kubernetes และ GitHub Actions รันถี่ขนาดนี้ไม่ได้

ทีละฟิลด์

ฟิลด์ ค่า ตรงกับ
นาที * ทุกค่า
ชั่วโมง * ทุกค่า
วันที่ * ทุกค่า
เดือน * ทุกค่า
วันในสัปดาห์ * ทุกค่า

เวลารันครั้งถัดไป

ตัวอย่าง: การรัน 6 ครั้งแรกหลัง 1 มกราคม 2569 (UTC)

  1. พฤหัส 1 ม.ค. 2569 00:01:00
  2. พฤหัส 1 ม.ค. 2569 00:01:30
  3. พฤหัส 1 ม.ค. 2569 00:02:00
  4. พฤหัส 1 ม.ค. 2569 00:02:30
  5. พฤหัส 1 ม.ค. 2569 00:03:00
  6. พฤหัส 1 ม.ค. 2569 00:03:30

เวอร์ชันพร้อมใช้

crontab
* * * * * /path/to/command
* * * * * sleep 30; /path/to/command

เพิ่มบรรทัดนี้ด้วย crontab -e งานจะรันตามเขตเวลาของเซิร์ฟเวอร์ เว้นแต่ตั้งค่า CRON_TZ หรือ TZ

Kubernetes CronJob: ตัวจัดตารางเวลานี้รันตารางเวลานี้ไม่ได้

GitHub Actions: ตัวจัดตารางเวลานี้รันตารางเวลานี้ไม่ได้

GitHub Actions ใช้ UTC เสมอ รับช่วงห่างตั้งแต่ 5 นาทีขึ้นไป และอาจเริ่มงานตามกำหนดช้าเมื่อระบบมีภาระสูง

Quartz
0/30 * * * * ?

Quartz วางวินาทีไว้หน้าสุด และต้องใส่ ? ในฟิลด์วันที่หรือวันในสัปดาห์ วันในสัปดาห์นับ 1–7 เริ่มจากวันอาทิตย์ จึงควรใช้ชื่อย่อแทน

Spring
@Scheduled(cron = "*/30 * * * * *")

Spring @Scheduled(cron = …) ใช้หกฟิลด์: วินาที แล้วตามด้วยห้าฟิลด์ปกติ

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

› มีนิพจน์ cron สำหรับทุก 30 วินาทีไหม

ไม่มีใน cron มาตรฐานห้าฟิลด์ ให้ใช้ crontab สองบรรทัด (บรรทัดหนึ่งมี sleep 30), systemd timer ที่ตั้ง OnUnitActiveSec=30s หรือ Quartz 0/30 * * * * ?

› * * * * * รันตามเขตเวลาใด

Cron ใช้เขตเวลาของเครื่องหรือบริการที่รันมัน บน Linux คือเขตเวลาของระบบ เว้นแต่ตั้ง CRON_TZ หรือ TZ; CronJob ของ Kubernetes รองรับ spec.timeZone; GitHub Actions ใช้ UTC เสมอ

› จะตรวจสอบตารางเวลานี้ก่อนนำไปใช้จริงได้อย่างไร

เปิด * * * * * ในเครื่องมือแยกวิเคราะห์ Cron ของเว็บไซต์นี้ เครื่องมือจะอธิบายแต่ละฟิลด์และแสดงเวลารันที่จะมาถึงตามเวลาท้องถิ่นหรือ UTC ทั้งหมดในเบราว์เซอร์