तुरंत क्रॉन एक्सप्रेशन बनाएं
हर फ़ील्ड सेट करें — मिनट, घंटा, महीने का दिन, महीना और सप्ताह का दिन — और उपयोग के लिए तैयार क्रॉनटैब लाइन के साथ सरल भाषा में स्पष्टीकरण प्राप्त करें।
सब कुछ आपके ब्राउज़र में ही चलता है — कोई डेटा कहीं नहीं भेजा जाता, और कोई शेड्यूल स्टोर नहीं किया जाता।
क्रॉन एक्सप्रेशन क्या है?
क्रॉन एक्सप्रेशन एक पाँच-फ़ील्ड वाला पैटर्न है, जिसका उपयोग यूनिक्स जैसे सिस्टम में कमांड्स को निश्चित समय, तारीख या अंतराल पर स्वचालित रूप से चलाने के लिए शेड्यूल करने हेतु किया जाता है।
हर फ़ील्ड समय की एक अलग इकाई को नियंत्रित करती है — मिनट, घंटा, महीने का दिन, महीना और सप्ताह का दिन — और मिलकर वे यह तय करते हैं कि कोई कार्य ठीक कब चलना चाहिए।
क्रॉन फ़ील्ड सिंटैक्स
| मिनट | 0–59 |
| घंटा | 0–23 |
| महीने का दिन | 1–31 |
| महीना | 1–12 |
| सप्ताह का दिन | 0–6 (0 = रविवार) |
विशेष वर्ण
| * | कोई भी मान — उस फ़ील्ड के हर संभव मान से मेल खाता है |
| , | मानों की सूची विभाजक — जैसे 1,15 का अर्थ है 1 और 15 तारीख |
| - | मानों की श्रेणी — जैसे 1-5 का अर्थ है सोमवार से शुक्रवार तक |
| / | स्टेप मान — जैसे */15 का अर्थ है हर 15 इकाई |
क्रॉन जनरेटर का उपयोग क्यों करें?
- सिंटैक्स की उन गलतियों से बचें जो शेड्यूल किए गए कार्यों को बिना किसी चेतावनी के बिगाड़ देती हैं
- शेड्यूल को लागू करने से पहले सरल भाषा में स्पष्टीकरण देखें
- शुरू से लिखने के बजाय किसी सामान्य उदाहरण से शुरुआत करें
- वैकल्पिक कमांड के साथ, पेस्ट करने के लिए तैयार क्रॉनटैब लाइन पाएं
- किसी इंस्टॉलेशन या अकाउंट की आवश्यकता नहीं
क्रॉन एक्सप्रेशन कैसे बनाएं
- मिनट, घंटा, दिन, महीना और सप्ताह के दिन फ़ील्ड सेट करें — या किसी सामान्य उदाहरण को चुनें
- वैकल्पिक रूप से वह कमांड जोड़ें जिसे आप चलाना चाहते हैं
- शेड्यूल सही है यह पुष्टि करने के लिए सरल भाषा में स्पष्टीकरण देखें
- क्रॉनटैब लाइन कॉपी करें और उसे अपनी क्रॉनटैब फ़ाइल में पेस्ट करें
क्रॉन की सर्वोत्तम प्रथाएँ
बहुत बार चलने वाले शेड्यूल की तुलना में निश्चित समय को प्राथमिकता दें — जब हर 5 या 15 मिनट में काम चल सकता हो, तो हर मिनट कार्य चलाना संसाधनों की बर्बादी है।
जब कोई कार्य महीने के दिन और सप्ताह के दिन दोनों पर निर्भर करता है, तो याद रखें कि अधिकांश क्रॉन कार्यान्वयन इन दो फ़ील्ड को OR के रूप में मानते हैं, AND के रूप में नहीं।
शेड्यूल किए गए कार्यों के आउटपुट को हमेशा लॉग करें (जैसे किसी फ़ाइल में रीडायरेक्ट करें) ताकि विफलताएँ ध्यान से न छूटें।
सामान्य उपयोग के मामले
- स्वचालित डेटाबेस बैकअप
- लॉग रोटेशन और सफाई कार्य
- शेड्यूल की गई रिपोर्ट जनरेशन
- कैश वार्मिंग या इनवैलिडेशन
- समय-समय पर ईमेल डाइजेस्ट भेजना
- सिस्टम के बीच डेटा सिंक करना
- हेल्थ चेक और मॉनिटरिंग पिंग
- सर्टिफिकेट या टोकन का रिन्यूअल
अक्सर पूछे जाने वाले प्रश्न
क्रॉन कार्य किस टाइमज़ोन में चलता है?
डिफ़ॉल्ट रूप से, क्रॉन सिस्टम के लोकल टाइमज़ोन का उपयोग करता है। कुछ प्लेटफ़ॉर्म आपको हर कार्य या हर क्रॉनटैब के लिए एक विशिष्ट टाइमज़ोन सेट करने की अनुमति देते हैं — अपने सिस्टम के दस्तावेज़ीकरण की जाँच करें।
क्या क्रॉन एक्सप्रेशन में सेकंड शामिल किए जा सकते हैं?
स्टैंडर्ड यूनिक्स क्रॉन केवल पाँच फ़ील्ड (मिनट और उससे ऊपर) का समर्थन करता है, इसमें कोई सेकंड फ़ील्ड नहीं होती। कुछ शेड्यूलर, जैसे Quartz, एक वैकल्पिक सेकंड फ़ील्ड का समर्थन करते हैं, लेकिन वह एक अलग फ़ॉर्मेट है।
यदि मैं महीने का दिन और सप्ताह का दिन दोनों सेट करूँ तो क्या होगा?
अधिकांश क्रॉन कार्यान्वयन में, यदि दोनों में से कोई भी शर्त पूरी होती है तो कार्य चलता है (यह OR है, AND नहीं)। किसी विशिष्ट तारीख पर, जो किसी विशिष्ट सप्ताह के दिन पर भी पड़ती हो, केवल तभी चलाने के लिए आपको सामान्यतः स्क्रिप्ट में अतिरिक्त लॉजिक जोड़ने की आवश्यकता होती है।
उपयोग करने से पहले मैं क्रॉन एक्सप्रेशन का परीक्षण कैसे कर सकता हूँ?
यहाँ दिखाए गए सरल भाषा के स्पष्टीकरण की जाँच करें कि यह आपके इरादे से मेल खाता है, फिर प्रोडक्शन में इस पर निर्भर होने से पहले अपने वास्तविक सिस्टम पर एक छोटी अवधि के परीक्षण शेड्यूल से इसे सत्यापित करें।
क्या मुझे cron या systemd टाइमर का उपयोग करना चाहिए?
Cron सरल है और हर जगह काम करता है, जो इसे सीधे-सादे दोहराए जाने वाले कार्यों के लिए आदर्श बनाता है। systemd टाइमर अधिक नियंत्रण (डिपेंडेंसी, लॉगिंग, मिस्ड-रन हैंडलिंग) प्रदान करते हैं और उन सिस्टम के लिए एक अच्छा विकल्प हैं जो पहले से ही systemd का उपयोग करते हैं।