Cron एक्सप्रेशन किसी टास्क के बार-बार चलने वाले शेड्यूल को बताने का एक कॉम्पैक्ट तरीक़ा है, जो Unix जैसे सिस्टम में 1970 के दशक से इस्तेमाल हो रहा है। स्पेस से अलग किए गए पाँच फ़ील्ड लगभग किसी भी नियमित शेड्यूल को दर्शा सकते हैं।
एक्सप्रेशन के पाँच फ़ील्ड
एक स्टैंडर्ड cron एक्सप्रेशन मिनट घंटा महीने-का-दिन महीना हफ़्ते-का-दिन जैसा दिखता है। मिसाल के तौर पर, 30 14 * * 1 का मतलब है "हर सोमवार को 14:30 बजे" — तारे (asterisk) का मतलब है महीने के दिन और महीने के लिए "कोई भी वैल्यू"।
स्लैश और कॉमा का मतलब
तारे के बाद स्लैश, जैसे */15 * * * * में, का मतलब है "हर 15 यूनिट में" — इस मामले में हर 15 मिनट में। कॉमा कई ख़ास वैल्यू लिस्ट करने देता है; जैसे, 0 9,18 * * * टास्क को दिन में दो बार चलाता है: 9:00 और 18:00 पर।
"हफ़्ते का दिन" फ़ील्ड सबसे ज़्यादा भ्रम क्यों पैदा करता है
स्टैंडर्ड cron में, "महीने का दिन" और "हफ़्ते का दिन" दोनों फ़ील्ड एक साथ तारे से अलग सेट किए जा सकते हैं — ऐसे में, टास्क तभी चलता है जब दो शर्तों में से कम से कम एक पूरी हो (लॉजिकल OR, AND नहीं), जो ज़्यादातर लोगों की सहज उम्मीद के उलट है।
Kubernetes में भी वही पुराना सिंटैक्स
भारत की तेज़ी से बढ़ती IT सर्विसेज़ और स्टार्टअप इकोसिस्टम में Kubernetes अब बेहद आम है, और उसका CronJob ऑब्जेक्ट ठीक वही पाँच-फ़ील्ड cron सिंटैक्स इस्तेमाल करता है जो 1970 के दशक के Unix crontab में था। यानी 0 3 * * * लिखना सीखना पुराने सर्वर और आधुनिक क्लाउड-नेटिव इन्फ़्रास्ट्रक्चर, दोनों जगह काम आता है।
यह किस काम आता है
- सर्वर कॉन्फ़िग या CI/CD पाइपलाइन में किसी और का cron एक्सप्रेशन डिकोड करना।
- प्रोडक्शन में डिप्लॉय करने से पहले लिखे गए शेड्यूल की सटीकता जाँचना।
- किसी टास्क के अगले कुछ रन का सटीक समय प्लान करना।
डेलाइट सेविंग टाइम बदलना और cron
अगर शेड्यूलर डेलाइट सेविंग टाइम बदलने वाले टाइमज़ोन में चल रहा है, तो किसी ऐसे घंटे पर शेड्यूल किया गया टास्क जो मौजूद ही नहीं है (जैसे घड़ी आगे बढ़ाने वाली रात में 2:30), उस दिन नहीं चल सकता, और जो घंटा घड़ी पीछे करने पर दोहराया जाता है, वह दो बार चल सकता है। भारत ख़ुद कभी डेलाइट सेविंग टाइम इस्तेमाल नहीं करता, लेकिन विदेशी सर्वर पर होस्ट होने वाले शेड्यूल के लिए यह जानना फिर भी ज़रूरी है, और क्रिटिकल टास्क के लिए अक्सर UTC टाइमज़ोन साफ़ तौर पर तय कर दिया जाता है।