0 9 1-7 * * Cron एक्सप्रेशन पार्सर में खोलें 0 9 1-7 * 1 लिखने से काम नहीं बनता: जब दोनों दिन फ़ील्ड सेट हों, तो cron किसी एक के मेल खाने पर भी चल जाता है, यानी 1–7 तारीख को और हर सोमवार को। Quartz और Spring MON#1 सपोर्ट करते हैं।
फ़ील्ड-दर-फ़ील्ड
| फ़ील्ड | मान | मेल खाता है |
|---|---|---|
| मिनट | 0 | 0 |
| घंटा | 9 | 9 |
| महीने का दिन | 1-7 | 1, 2, 3, 4, 5, 6, 7 |
| महीना | * | हर मान |
| हफ़्ते का दिन | * | हर मान |
अगली रन टाइम
उदाहरण: 1 जनवरी 2026 के बाद पहले 6 रन (UTC)।
- सोम, 5 जन॰ 2026, 09:00
- सोम, 2 फ़र॰ 2026, 09:00
- सोम, 2 मार्च 2026, 09:00
- सोम, 6 अप्रैल 2026, 09:00
- सोम, 4 मई 2026, 09:00
- सोम, 1 जून 2026, 09:00
इस्तेमाल के लिए तैयार संस्करण
0 9 1-7 * * [ "$(date +\%u)" = 1 ] && /path/to/command यह लाइन crontab -e से जोड़ें। CRON_TZ या TZ सेट न हो तो यह सर्वर के टाइम ज़ोन में चलती है।
apiVersion: batch/v1
kind: CronJob
metadata:
name: first-monday-of-month
spec:
schedule: "0 9 1-7 * *"
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: '0 9 1-7 * *'
workflow_dispatch: GitHub Actions हमेशा UTC इस्तेमाल करता है, कम से कम 5 मिनट का अंतराल मानता है, और ज़्यादा लोड में शेड्यूल्ड रन देर से शुरू कर सकता है।
0 0 9 ? * MON#1 Quartz में सेकंड सबसे पहले आते हैं, और महीने के दिन या हफ़्ते के दिन में से एक में ? चाहिए। दिन रविवार से 1–7 गिने जाते हैं, इसलिए नाम लिखना ज़्यादा सुरक्षित है।
@Scheduled(cron = "0 0 9 * * MON#1") Spring @Scheduled(cron = …) छह फ़ील्ड लेता है: सेकंड, फिर सामान्य पाँच।
अक्सर पूछे जाने वाले सवाल
› 0 9 1-7 * 1 बहुत बार क्यों चलता है?
जब महीने का दिन और हफ़्ते का दिन दोनों सीमित हों, cron उन्हें "या" से जोड़ता है, इसलिए काम 1 से 7 तारीख तक और हर सोमवार को भी चलता है।
› 0 9 1-7 * * किस टाइम ज़ोन में चलता है?
Cron उस मशीन या सेवा का टाइम ज़ोन इस्तेमाल करता है जो उसे चलाती है। Linux पर यह सिस्टम टाइम ज़ोन है, जब तक CRON_TZ या TZ सेट न हो; Kubernetes CronJob में spec.timeZone सेट कर सकते हैं; GitHub Actions हमेशा UTC इस्तेमाल करता है।
› डिप्लॉय करने से पहले इस शेड्यूल को कैसे जाँचें?
इस साइट के Cron एक्सप्रेशन पार्सर में 0 9 1-7 * * खोलें। यह हर फ़ील्ड समझाता है और आने वाले रन आपके लोकल समय या UTC में दिखाता है, सब कुछ ब्राउज़र में।