*/15 9-17 * * 1-5 เปิดในเครื่องมือแยกวิเคราะห์ Cron ทีละฟิลด์
| ฟิลด์ | ค่า | ตรงกับ |
|---|---|---|
| นาที | */15 | 0, 15, 30, 45 |
| ชั่วโมง | 9-17 | 9, 10, 11, 12, …, 17 |
| วันที่ | * | ทุกค่า |
| เดือน | * | ทุกค่า |
| วันในสัปดาห์ | 1-5 | วันจันทร์ วันอังคาร วันพุธ วันพฤหัสบดี วันศุกร์ |
เวลารันครั้งถัดไป
ตัวอย่าง: การรัน 6 ครั้งแรกหลัง 1 มกราคม 2569 (UTC)
- พฤหัส 1 ม.ค. 2569 09:00
- พฤหัส 1 ม.ค. 2569 09:15
- พฤหัส 1 ม.ค. 2569 09:30
- พฤหัส 1 ม.ค. 2569 09:45
- พฤหัส 1 ม.ค. 2569 10:00
- พฤหัส 1 ม.ค. 2569 10:15
เวอร์ชันพร้อมใช้
*/15 9-17 * * 1-5 /path/to/command เพิ่มบรรทัดนี้ด้วย crontab -e งานจะรันตามเขตเวลาของเซิร์ฟเวอร์ เว้นแต่ตั้งค่า CRON_TZ หรือ TZ
apiVersion: batch/v1
kind: CronJob
metadata:
name: every-15-minutes-during-business-hours
spec:
schedule: "*/15 9-17 * * 1-5"
timeZone: "Etc/UTC"
concurrencyPolicy: Forbid
jobTemplate:
spec:
template:
spec:
restartPolicy: OnFailure
containers:
- name: job
image: busybox:1.36
command: ["/bin/sh", "-c", "date; echo run"] ตั้งค่า spec.timeZone (Kubernetes 1.27 ขึ้นไป) หากไม่ตั้ง ตารางเวลาจะใช้เขตเวลาของ controller manager ซึ่งมักเป็น UTC
on:
schedule:
- cron: '*/15 9-17 * * 1-5'
workflow_dispatch: GitHub Actions ใช้ UTC เสมอ รับช่วงห่างตั้งแต่ 5 นาทีขึ้นไป และอาจเริ่มงานตามกำหนดช้าเมื่อระบบมีภาระสูง
0 */15 9-17 ? * MON-FRI Quartz วางวินาทีไว้หน้าสุด และต้องใส่ ? ในฟิลด์วันที่หรือวันในสัปดาห์ วันในสัปดาห์นับ 1–7 เริ่มจากวันอาทิตย์ จึงควรใช้ชื่อย่อแทน
@Scheduled(cron = "0 */15 9-17 * * MON-FRI") Spring @Scheduled(cron = …) ใช้หกฟิลด์: วินาที แล้วตามด้วยห้าฟิลด์ปกติ
คำถามที่พบบ่อย
› จะหยุดตรง 17:00 พอดีได้อย่างไร
cron บรรทัดเดียวจบกลางชั่วโมงไม่ได้ ใช้ */15 9-16 * * 1-5 แล้วเพิ่มอีกบรรทัด 0 17 * * 1-5
› */15 9-17 * * 1-5 รันตามเขตเวลาใด
Cron ใช้เขตเวลาของเครื่องหรือบริการที่รันมัน บน Linux คือเขตเวลาของระบบ เว้นแต่ตั้ง CRON_TZ หรือ TZ; CronJob ของ Kubernetes รองรับ spec.timeZone; GitHub Actions ใช้ UTC เสมอ
› จะตรวจสอบตารางเวลานี้ก่อนนำไปใช้จริงได้อย่างไร
เปิด */15 9-17 * * 1-5 ในเครื่องมือแยกวิเคราะห์ Cron ของเว็บไซต์นี้ เครื่องมือจะอธิบายแต่ละฟิลด์และแสดงเวลารันที่จะมาถึงตามเวลาท้องถิ่นหรือ UTC ทั้งหมดในเบราว์เซอร์