cron अभिव्यक्तियाँ कैसे बनाएँ
cron अभिव्यक्तियाँ Linux, क्लाउड प्लेटफ़ॉर्म, CI/CD पाइपलाइन और कार्य शेड्यूलर में आवर्ती शेड्यूल परिभाषित करने का मानक तरीका हैं। सिंटैक्स कॉम्पैक्ट है लेकिन असहज है — एक दृश्य जनरेटर आपको ठीक दिखाता है कि आपका कार्य कब चलेगा।
cron सिंटैक्स
एक cron अभिव्यक्ति में 5 फ़ील्ड होते हैं:
┌───────────── मिनट (0-59)
│ ┌───────────── घंटा (0-23)
│ │ ┌───────────── महीने का दिन (1-31)
│ │ │ ┌───────────── महीना (1-12)
│ │ │ │ ┌───────────── सप्ताह का दिन (0-6, रविवार=0)
│ │ │ │ │
* * * * *
सामान्य cron शेड्यूल
| शेड्यूल | अभिव्यक्ति | अर्थ |
|---|---|---|
| प्रत्येक मिनट | * * * * * |
हर 60 सेकंड में चलता है |
| प्रत्येक 5 मिनट | */5 * * * * |
:00, :05, :10, :15 पर... |
| प्रत्येक घंटा | 0 * * * * |
प्रत्येक घंटे की शुरुआत में |
| हर दिन आधी रात को | 0 0 * * * |
00:00 बजे दिन में एक बार |
| हर दिन सुबह 9 बजे | 0 9 * * * |
09:00 बजे दिन में एक बार |
| हर सोमवार सुबह 8 बजे | 0 8 * * 1 |
सोमवार को साप्ताहिक |
| हर महीने की 1 तारीख़ को | 0 0 1 * * |
1 तारीख़ को आधी रात मासिक |
| कार्यदिवस शाम 6 बजे | 0 18 * * 1-5 |
सोमवार से शुक्रवार |
cron अभिव्यक्ति कैसे बनाएँ
- अपना शेड्यूल परिभाषित करें — मिनट, घंटा, दिन, महीने और सप्ताह के दिन के मान चुनने के लिए दृश्य नियंत्रण का उपयोग करें। या «प्रत्येक घंटा» या «हर दिन आधी रात को» जैसे प्रीसेट से शुरू करें।
- निष्पादनों का पूर्वावलोकन करें — जनरेटर यह जाँचने के लिए अगले 5 निष्पादन प्रदर्शित करता है कि शेड्यूल सही है।
- अभिव्यक्ति कॉपी करें — इसे अपने crontab, अपने CI/CD कॉन्फ़िगरेशन या अपने क्लाउड शेड्यूलर में पेस्ट करें।
विशेष वर्ण
| वर्ण | अर्थ | उदाहरण |
|---|---|---|
* |
प्रत्येक मान | * * * * * = प्रत्येक मिनट |
*/n |
प्रत्येक n | */15 * * * * = प्रत्येक 15 मिनट |
, |
कई मान | 0 8,12,18 * * * = 8 बजे, दोपहर, 6 बजे |
- |
रेंज | 0 9-17 * * * = 9 से 17 बजे तक प्रत्येक घंटा |
सुझाव
- हमेशा अगले निष्पादनों की जाँच करें — cron अभिव्यक्तियाँ चूकना आसान है। पूर्वावलोकन आपको बिल्कुल दिखाता है कि कार्य कब शुरू होगा, तैनाती से पहले जाँच करें।
- प्रीसेट से शुरू करें — «दैनिक» या «घंटावार» जैसे सामान्य शेड्यूल से शुरू करें और शून्य से लिखने के बजाय समायोजित करें।
- टाइम ज़ोन पर ध्यान दें — cron समय सिस्टम टाइम ज़ोन में होते हैं (सर्वरों पर आमतौर पर UTC)। यदि आप 9 बजे IST चाहते हैं, तो यह UTC में
30 3 * * *है। - छोटे अंतराल के साथ परीक्षण करें — एक नया cron सेट करते समय, यह पुष्टि करने के लिए
*/5 * * * *(प्रत्येक 5 मिनट) के साथ परीक्षण करें कि यह काम करता है, फिर अंतिम शेड्यूल पर जाएँ।
अक्सर पूछे जाने वाले प्रश्न
cron अभिव्यक्ति का फ़ॉर्मेट क्या है?
एक मानक cron अभिव्यक्ति में रिक्त स्थान से अलग 5 फ़ील्ड होते हैं, जो मिनट (0-59), घंटा (0-23), महीने का दिन (1-31), महीना (1-12) और सप्ताह का दिन (0-6, जहाँ 0 रविवार है) दर्शाते हैं। एक तारक (*) का अर्थ है इस फ़ील्ड के लिए «प्रत्येक» मान।
cron में */5 का क्या मतलब है?
*/5 सिंटैक्स का अर्थ है «प्रत्येक 5»। मिनट फ़ील्ड में, */5 का अर्थ है प्रत्येक 5 मिनट (0, 5, 10, 15...)। घंटा फ़ील्ड में, */5 का अर्थ है प्रत्येक 5 घंटे। यह किसी भी फ़ील्ड में काम करता है।
क्या cron अभिव्यक्तियाँ सभी प्लेटफ़ॉर्मों पर समान हैं?
5-फ़ील्ड फ़ॉर्मेट Linux cron, AWS EventBridge, GitHub Actions और अधिकांश शेड्यूलिंग सिस्टम पर मानक है। कुछ प्लेटफ़ॉर्म सेकंड या वर्ष के लिए 6वाँ फ़ील्ड जोड़ते हैं। अपने प्लेटफ़ॉर्म के दस्तावेज़ीकरण से परामर्श करें।
प्रत्येक महीने के अंतिम दिन के लिए शेड्यूल कैसे करें?
मानक cron में «अंतिम दिन» कीवर्ड नहीं है। अपनी स्क्रिप्ट में तिथि जाँच के साथ दैनिक निष्पादन जैसे समाधान का उपयोग करें, या प्लेटफ़ॉर्म-विशिष्ट एक्सटेंशन का उपयोग करें (AWS EventBridge «last» के लिए L का समर्थन करता है)।