संपादित 4 सप्ताह पहले द्वारा ExtremeHow संपादकीय टीम
डेबियनक्रॉनस्वचालनअनुसूची निर्माणसीएलआईसिस्टम प्रशासनलिनक्सओपन सोर्सआईटीसर्वर
अनुवाद अपडेट किया गया 4 सप्ताह पहले
क्रोन यूनिक्स जैसी प्रणालियों में उपलब्ध एक उपकरण है, जिसका उपयोग जॉब्स या कार्यों को शेड्यूल करने के लिए किया जाता है। सरल शब्दों में, यह आपको स्क्रिप्ट, कमांड या सॉफ़्टवेयर को निर्दिष्ट समय और तिथियों पर स्वचालित रूप से निष्पादित करने में मदद करता है। डेबियन प्रणालियों में, क्रोन का उपयोग विशेष रूप से सिस्टम प्रशासन कार्यों जैसे बैकअप, अपडेट और सफाई के लिए उपयोगी हो सकता है, साथ में कई अन्य पुनरावृत्त कार्यों के लिए भी। इस लेख में, हम चरण-दर-चरण निर्देशों और उदाहरणों के साथ डेबियन ऑपरेटिंग सिस्टम में क्रोन को सेटअप और उपयोग करना सीखेंगे।
क्रोन का उपयोग शुरू करने से पहले, इसके मुख्य घटकों और इसकी कार्यप्रणाली को समझना महत्वपूर्ण है। समझने के लिए कई मुख्य अवधारणाएँ हैं:
अगला, चलिए मूल सिंटैक्स की जाँच करें जिसे आप क्रोन्टैब बनाते या संपादित करते समय उपयोग करेंगे।
क्रोन के साथ कार्यों को स्वचालित करने का मुख्य उद्देश्य क्रोन्टैब सिंटैक्स को समझना है। एक क्रोन्टैब फाइल में एक सामान्य पंक्ति इस संरचना का पालन करती है:
* * * * * command_to_be_executed
पाँच तारांकन इसका संकेत देते हैं:
यदि आप एक निश्चित पैटर्न में कार्य चलाना चाहते हैं, तो आप विशेष वर्णों का उपयोग कर सकते हैं:
*
- तारांकन "हर" का संकेत है। उदाहरण के लिए, मिनट्स फील्ड में तारांकन का उपयोग करने का मतलब है "हर मिनट।",
- कॉमा आपको कई मान निर्दिष्ट करने की अनुमति देता है। उदाहरण के लिए, हर घंटे के 5वें और 10वें मिनट पर कोई जॉब चलाने के लिए, मिनट्स फील्ड में 5,10
का उपयोग करें।-
- डैश आपको एक रेंज सेट करने की अनुमति देता है। उदाहरण के लिए, घंटे फील्ड में 1-5
का मतलब है कि यह 1 से 5 के बीच हर घंटे निष्पादित होगा।/
- यह वर्ण आपको अंतराल निर्दिष्ट करने की अनुमति देता है। कार्य को हर 2 मिनट पर चलाने के लिए मिनट्स फील्ड में */2
का उपयोग करें।एक बार जब आप सिंटैक्स समझ लेते हैं, तो क्रोन्टैब्स को संपादित और बनाना एक साधारण कार्य हो जाता है। चलिए देखते हैं कि आप डेबियन में क्रोन्टैब्स के साथ कैसे काम कर सकते हैं।
डेबियन में, प्रत्येक उपयोगकर्ता आसानी से अपनी क्रोन्टैब फाइलों का प्रबंधन कर सकता है। सिस्टम क्रोन्टैब फाइल /etc/crontab
में स्थित है, लेकिन उपयोगकर्ता-विशिष्ट क्रोन्टैब्स को एक अलग दृष्टिकोण से प्रबंधित किया जाता है, जो यह सुनिश्चित करता है कि नियमित उपयोगकर्ता सिस्टम-स्तरीय कार्यों में हस्तक्षेप न करें।
अपनी क्रोन्टैब को बनाने या संपादित करने के लिए, अपने टर्मिनल में निम्नलिखित कमांड का उपयोग करें:
crontab -e
यह कमांड वर्तमान उपयोगकर्ता के लिए डिफ़ॉल्ट टेक्स्ट संपादक में (उदाहरण के लिए, नैनो या विम) क्रोन्टैब फ़ाइल खोलता है, जहां आप नए क्रोन जॉब्स जोड़ सकते हैं। यदि आप पहली बार इस कमांड को चला रहे हैं, तो आपको संपादक चुनने के लिए विकल्प दिखाई देंगे। चयन करने के लिए तीर कुंजियों का उपयोग करें और पुष्टि करने के लिए एंटर दबाएं।
किसी उपयोगकर्ता के मौजूदा 크ोन जॉब्स को देखने के लिए, आप उपयोग कर सकते हैं:
crontab -l
यह वर्तमान उपयोगकर्ता के लिए सभी शेड्यूल किए गए कार्यों को सूचीबद्ध करेगा जो कमांड चला रहा है। यदि कोई कार्य निर्धारित नहीं है, तो यह आपको सूचित करेगा कि कोई क्रोनटैब मौजूद नहीं है।
अपने उपयोगकर्ता-विशिष्ट क्रोन्टैब को हटाने के लिए और इस प्रकार अपने उपयोगकर्ता के लिए सभी क्रोन जॉब्स को हटाने के लिए, उपयोग करें:
crontab -r
इस कमांड का बहुत सावधानी के साथ उपयोग करें क्योंकि यह बिना किसी पुष्टि के उपयोगकर्ता का क्रोन्टैब पूरी तरह से हटा देता है।
आइए कुछ सामान्य क्रोन जॉब्स के बारे में जानें जो आपको डेबियन पर कार्यों को स्वचालित करने में मदद कर सकते हैं।
हर रात 2 बजे backup.sh
नामक स्क्रिप्ट को स्वचालित रूप से चलाने के लिए, आप अपने क्रोन्टैब में निम्नलिखित पंक्ति जोड़ेंगे:
0 2 * * * /path/to/backup.sh
विवरण इस प्रकार हैं:
0
- 0 मिनट2
- 2 बजे सुबह* * *
प्रत्येक दिन हर महीने, सप्ताह के किसी भी दिनयदि आप प्रत्येक मध्यरात्रि को लॉग फ़ाइल को साफ करना चाहते हैं, तो निम्नलिखित क्रोन जॉब आपकी मदद कर सकता है:
0 0 * * * echo "" > /path/to/logfile.log
यह कमांड प्रत्येक रात को मध्यरात्रि को logfile.log
की सामग्रियों को साफ करेगा।
हर शुक्रवार को दोपहर में एक रिपोर्ट ईमेल भेजने के लिए एक मेल प्रोग्राम का उपयोग करते हुए, आप निम्नलिखित जोड़ सकते हैं:
0 12 * * 5 /path/to/email_script.sh
5
सप्ताह के दिन फील्ड में शुक्रवार को निर्दिष्ट करता है।
कभी-कभी, विभिन्न कारणों से क्रोन जॉब्स अपेक्षित रूप से निष्पादित नहीं होते हैं। इन सामान्य समस्याओं को समझना और उनका निदान करना आपके स्वचालन जॉब्स को विश्वसनीय और कुशल बनाने में मदद कर सकता है।
उस स्क्रिप्ट या फ़ाइल की अनुमतियों की जाँच करें जिसे आप निष्पादित करने का प्रयास कर रहे हैं। क्रोन डेमन क्रोन्टैब के मालिक की अनुमतियों के साथ कार्य निष्पादित करता है। यदि कोई स्क्रिप्ट या कमांड ऊंची अनुमतियाँ मांगती है, तो सुनिश्चित करें कि उसके पास आवश्यक अनुमतियाँ हैं या उपयुक्त अनुमतियों के साथ एक सिस्टम-वाइड क्रोन्टैब का उपयोग करने पर विचार करें।
आमतौर पर, क्रोन जॉब्स से आउटपुट क्रोन्टैब के मालिक को ईमेल किया जाता है। डिबगिंग को आसान बनाने के लिए आउटपुट को एक फ़ाइल में पुनर्निर्देशित करने के लिए, आप निम्नलिखित कर सकते हैं:
0 2 * * * /path/to/script.sh >> /path/to/logfile.log 2>&1
यह निर्दिष्ट लॉग फ़ाइल में दोनों मानक आउटपुट और त्रुटि आउटपुट को पुनर्निर्देशित करता है। इस लॉग की समीक्षा करने से आपको जॉब निष्पादन की किसी भी समस्या का निदान करने में सहायता मिल सकती है।
क्रोन पर्यावरण आपके सामान्य शेल पर्यावरण से भिन्न होता है। इसलिए, क्रोन के माध्यम से निष्पादित कोई भी स्क्रिप्ट समान पर्यावरण चर नहीं हो सकता है। इस समस्या को दूर करने के लिए, स्क्रिप्ट में किसी भी आवश्यक पर्यावरण चर को स्पष्ट रूप से परिभाषित करें या अपनी कमांड में सभी फाइलों और निष्पादनकर्ताओं के पूर्ण पथ का उपयोग करें।
डेबियन पर क्रोन का उपयोग करके कार्यों को स्वचालित करने की प्रभावशीलता और विश्वसनीयता को अधिकतम करने के लिए, यहाँ कुछ सर्वोत्तम अभ्यास हैं:
अपनी क्रोन्टैब को अधिक पठनीय बनाने के लिए टिप्पणियाँ जोड़ें। टिप्पणी या स्पष्टीकरण छोड़ने के लिए #
से एक पंक्ति शुरू करें:
# यह जॉब हर दिन सुबह 2 बजे बैकअप स्क्रिप्ट चलाता है 0 2 * * * /path/to/backup.sh
हमेशा सुनिश्चित करें कि स्क्रिप्ट्स क्रोन के साथ शेड्यूल करने से पहले जब मैन्युअल रूप से चलती हैं तो उनका इरादा जैसा काम करती हैं। यह अप्रत्याशित विफलताओं के अवसर को कम करता है और पुष्टि करने में मदद करता है कि स्क्रिप्ट क्रोन पर्यावरण के तहत अपेक्षित व्यवहार करती है।
अपनी क्रोन्टैब प्रविष्टियों को सरल रखें। क्रोन्टैब में अत्यधिक जटिल कमांड से बचें। यदि कोई कार्य कई चरणों या जटिल तार्किकता की मांग करता है, तो इसे एक स्क्रिप्ट में संलग्न करें और क्रोन्टैब से स्क्रिप्ट को कॉल करें।
क्रोन डेबियन प्रणालियों पर कार्यों को स्वचालित करने के लिए एक शक्तिशाली और लचीला तरीका प्रदान करता है, जिससे एकसमान और पुनरावृत्त कार्यों का प्रबंधन करना आसान हो जाता है। क्रोन्टैब सिंटैक्स में महारत हासिल कर, क्रोन्टैब फाइलों का प्रबंधन कर, सामान्य समस्याओं की पहचान कर, और सर्वोत्तम अभ्यासों का पालन कर, आप उत्पादकता बढ़ाने और सिस्टम प्रदर्शन को अनुकूलित करने के लिए प्रभावी रूप से क्रोन का उपयोग कर सकते हैं। चाहे आप एक सिस्टम एडमिनिस्ट्रेटर हों या एक आकस्मिक उपयोगकर्ता, क्रोन का लाभ उठाना सीखना आपके डेबियन सिस्टम के प्रबंधन में महत्वपूर्ण लाभ प्रदान कर सकता है।
यदि आपको लेख की सामग्री में कुछ गलत लगता है, आप कर सकते हैं