क्रॉन यूनिक्स जैसे ऑपरेटिंग सिस्टम में एक समय-आधारित नौकरी शेड्यूलिंग सेवा है। उपयोगकर्ता विशिष्ट समय, तिथियों या अंतरालों पर चलने के लिए नौकरियों (कमांड या स्क्रिप्ट) को शेड्यूल कर सकते हैं। यह सुविधा सिस्टम रखरखाव कार्यों को स्वचालित करने, स्क्रिप्ट चलाने या यहां तक कि निर्दिष्ट अंतराल पर ईमेल भेजने के लिए विशेष रूप से उपयोगी है।
क्रॉन जॉब की शारीरिक रचना
क्रॉन जॉब की संरचना को समझना महत्वपूर्ण है। क्रॉन जॉब क्रॉस्टैब (क्रॉन टेबल) फ़ाइल में एक एकल पंक्ति है जो विशिष्ट अंतराल पर चलने के लिए निर्धारित कमांड का प्रतिनिधित्व करती है। एक क्रोंटैब प्रविष्टि में छह फ़ील्ड हैं:
- मिनट (0 – 59)
- घंटे (0 - 23)
- महीने का दिन (1 - 31)
- महीना (1 - 12)
- सप्ताह का दिन (0 - 7, जहाँ 0 और 7 दोनों रविवार को दर्शाते हैं)
- निष्पादित करने का आदेश
क्रॉन जॉब स्थापित करना
क्रॉन जॉब शेड्यूल करने के लिए, आपको क्रॉस्टैब फ़ाइल को संपादित करना होगा। आप इसका उपयोग करके ऐसा कर सकते हैं crontab -e
कमांड, जो टेक्स्ट एडिटर में क्रोंटैब फ़ाइल को खोलता है। यहाँ एक त्वरित पूर्वाभ्यास है:
- क्रोंटैब खोलना: चलाएँ
crontab -e
आज्ञा। यह आपके डिफ़ॉल्ट संपादक में crontab फ़ाइल खोलता है। - क्रॉन जॉब जोड़ना: एक नई लाइन पर, कमांड के बाद शेड्यूलिंग पैरामीटर (मिनट, घंटे, आदि) निर्दिष्ट करें।
- सहेजना और बाहर निकलना: परिवर्तन सहेजें और संपादक से बाहर निकलें।
सामान्य क्रॉन जॉब उदाहरण
क्रॉन की बहुमुखी प्रतिभा को इसके उपयोग-मामलों की विशाल श्रृंखला के माध्यम से प्रदर्शित किया जा सकता है। कुछ उदाहरण निम्नलिखित हैं:
- प्रतिदिन एक निर्देशिका का बैकअप लें: आप प्रतिदिन किसी विशेष निर्देशिका का बैकअप लेने के लिए क्रॉन जॉब शेड्यूल कर सकते हैं। मान लें कि निर्देशिका /home/username/documents है, और आप हर दिन 2 बजे बैकअप चाहते हैं।
0 2 * * * tar -zcf /var/backups/home.tgz /home/username/documents
- हर मिनट एक स्क्रिप्ट चलाना: यदि आपके पास एक स्क्रिप्ट है (मान लीजिए, स्क्रिप्ट.sh /home/username/script.sh पर स्थित है), तो आप इसे हर मिनट चलाने के लिए शेड्यूल कर सकते हैं।
* * * * * /home/username/script.sh
- प्रत्येक सोमवार को एक ईमेल भेजना: मान लीजिए कि आपके पास एक mail.txt फ़ाइल है, और आप इसकी सामग्री हर सोमवार शाम 5 बजे ईमेल करना चाहते हैं। आप क्रॉन के साथ मेल कमांड का उपयोग कर सकते हैं।
0 17 * * MON cat /home/username/mail.txt | mail -s "Weekly Update" [email protected]
उन्नत क्रॉन युक्तियाँ और युक्तियाँ
जबकि क्रॉन शक्तिशाली और लचीला है, कुछ युक्तियाँ और तरकीबें हैं जो इसके उपयोग को अनुकूलित करने में आपकी सहायता कर सकती हैं:
- सेटिंग पथ: कार्यों को शेड्यूल करते समय, आप यह सुनिश्चित करने के लिए कि सभी कमांड पूर्ण पथ निर्दिष्ट किए बिना पाए जाते हैं, क्रोंटैब फ़ाइल के शीर्ष पर PATH पर्यावरण चर सेट कर सकते हैं।
- आउटपुट पुनर्निर्देशन: डिफ़ॉल्ट रूप से, क्रॉन क्रॉनजॉब निष्पादित करने वाले उपयोगकर्ता खाते पर एक ईमेल भेजता है। यदि इसकी आवश्यकता नहीं है, तो आप आउटपुट को /dev/null पर रीडायरेक्ट कर सकते हैं।
- लॉगिंग क्रॉन जॉब्स: क्रॉन जॉब का ट्रैक रखने के लिए, आप आउटपुट को लॉग फ़ाइल पर रीडायरेक्ट कर सकते हैं।
क्रॉन की सीमाएँ और विकल्प
अपने फायदों के बावजूद, क्रॉन सीमाओं से रहित नहीं है। इसमें नौकरी पर निर्भरता, नौकरी श्रृंखला और विस्तृत रिपोर्टिंग जैसी सुविधाओं का अभाव है, जो अधिक उन्नत कार्य अनुसूचियों में पाई जाती हैं।
क्रॉन के कई शक्तिशाली विकल्प हैं, जिनमें शामिल हैं:
- एनाक्रॉन: उन प्रणालियों के लिए आदर्श जो लगातार नहीं चलती हैं।
- एफक्रोन: उन्नत सुविधाओं के साथ क्रॉन और एनाक्रॉन दोनों की कार्यक्षमता को जोड़ती है।
- सिस्टमडी टाइमर: सिस्टमडी-आधारित लिनक्स वितरण में क्रॉन के लिए एक आधुनिक प्रतिस्थापन।
आगे की सीख
- उबंटू दस्तावेज़ीकरण पर क्रॉन गाइड
- TecMint पर क्रॉन ट्यूटोरियल
- DigitalOcean ट्यूटोरियल्स पर क्रॉन अवलोकन
- क्रोंटैब मैन पेज
क्रॉन की शक्ति से, आप लगभग किसी भी कार्य को स्वचालित कर सकते हैं जिसे आप अन्यथा मैन्युअल रूप से चलाते। इसकी सरल संरचना और लचीले शेड्यूलिंग विकल्प इसे किसी भी यूनिक्स-जैसे सिस्टम प्रशासक के टूलकिट में प्रमुख बनाते हैं।