मैं कैसे जांचूं कि क्रोंटैब काम कर रहा है या नहीं?

How Do I Check If Crontab Is Working



क्रोंटैब लिनक्स आधारित प्रणालियों में एक अत्यंत उपयोगी जॉब शेड्यूलर है जो आपको अपने दैनिक दिनचर्या के कार्यों को क्रॉस्टैब नौकरियों में बदलने की अनुमति देता है जो निर्दिष्ट समय पर स्वचालित रूप से चल सकते हैं। हालाँकि, चूंकि यह जॉब शेड्यूलर पृष्ठभूमि में चुपचाप काम करता है, इसलिए अधिकांश उपयोगकर्ता आश्चर्य करते हैं कि यह काम कर रहा है या नहीं।

कभी-कभी, आप अपने सिस्टम का बैकअप लेने या इसे क्रॉस्टैब जॉब शेड्यूलर में अपडेट करने का कार्य सौंपते हैं। किसी भी कंप्यूटर सिस्टम के सामान्य कामकाज के लिए इन कार्यों को बहुत महत्वपूर्ण माना जाता है। इसलिए, यदि वे किसी भी कारण से छूट जाते हैं, तो आपका सिस्टम परिणामी रूप से काम करना बंद कर देगा। इसलिए, अपने क्रॉस्टैब जॉब शेड्यूलर पर नज़र रखना बेहद ज़रूरी माना जाता है, साथ ही यह भी सूचित किया जाता है कि यह चल रहा है या नहीं और इसे सौंपे गए कार्यों का प्रदर्शन कर रहा है या नहीं।







इसीलिए आज के लेख का लक्ष्य आपको यह जांचने के दो तरीके सिखाना है कि लिनक्स मिंट 20 का उपयोग करते समय क्रोंटैब काम कर रहा है या नहीं।



क्रोंटैब काम कर रहा है या नहीं, यह जांचने के तरीके

निम्नलिखित दो विधियों का उपयोग यह जांचने के लिए किया जा सकता है कि क्रोंटैब काम कर रहा है या नहीं। पहली विधि सरल है जबकि दूसरी विधि थोड़ी जटिल है क्योंकि इसमें पहले की तुलना में अधिक चरण हैं। वैसे भी, हम नीचे दोनों विधियों के बारे में बताने जा रहे हैं:



विधि # 1: क्रोन सेवा की स्थिति की जाँच करके

क्रॉन सेवा की स्थिति को देखकर यह जांचने के लिए कि क्रॉन्टाब काम कर रहा है या नहीं, आपको निम्न चरणों का पालन करना होगा:





आप जिस भी लिनक्स वितरण के साथ काम कर रहे हैं, उसमें टर्मिनल लॉन्च करें। जैसा कि पहले ही ऊपर कहा जा चुका है, हमने क्रोंटैब काम कर रहा है या नहीं, यह जांचने के दोनों तरीकों को प्रदर्शित करने के लिए हमने लिनक्स मिंट 20 का उपयोग किया है। इसलिए, हमने नीचे दी गई छवि में इस लिनक्स वितरण का टर्मिनल भी दिखाया है:



अब लिनक्स टकसाल 20 में क्रॉन सेवा की स्थिति की जांच करने के लिए, आपको निम्न आदेश टाइप करना होगा:

$systemctl स्थिति क्रोन

सिस्टमक्टल कमांड को स्टेटस फ्लैग के साथ चलाने से क्रोन सेवा की स्थिति की जाँच होगी जैसा कि नीचे की छवि में दिखाया गया है। यदि स्थिति सक्रिय है (चल रहा है) तो यह पुष्टि की जाएगी कि क्रोंटैब पूरी तरह से अच्छा काम कर रहा है, अन्यथा नहीं।

हमारे मामले में, क्रोंटैब ठीक काम कर रहा था, इसीलिए आप ऊपर दिखाए गए चित्र में सक्रिय (चल रहे) स्थिति देख सकते हैं। हालाँकि, यदि आपका कॉन्टैब काम नहीं कर रहा है, तो आप अपने टर्मिनल में निम्न कमांड चलाकर हमेशा इस सेवा को शुरू कर सकते हैं:

$ सुडो सर्विस क्रॉन स्टार्ट

लिनक्स टकसाल 20 में एक नई सेवा शुरू करने के लिए हमेशा रूट उपयोगकर्ता विशेषाधिकारों की आवश्यकता होती है। इसीलिए यदि आप उपर्युक्त कमांड से पहले sudo कीवर्ड का उल्लेख करना भूल जाएंगे, तो यह टर्मिनल पर एक त्रुटि संदेश प्रस्तुत करेगा। हालाँकि, यदि आप रूट उपयोगकर्ता खाते में लॉग इन हैं, तो आप sudo कीवर्ड के बिना भी जाने के लिए अच्छे हैं।

विधि # 2: क्रोंटैब जॉब चलाकर

क्रोंटैब जॉब चलाकर क्रोंटैब काम कर रहा है या नहीं, यह जाँचने के लिए, आपको निम्नलिखित चरणों को करने की आवश्यकता है:

इस पद्धति में, हम सबसे पहले एक बैश स्क्रिप्ट बनाने जा रहे हैं जिसे हम क्रोंटैब जॉब के रूप में चलाएंगे। अगर हमारा क्रोंटैब जॉब काम करेगा यानी अगर हमारी बैश स्क्रिप्ट इरादे के अनुसार निष्पादित होगी, तो इसका मतलब यह होगा कि क्रोंटैब पूरी तरह से ठीक काम कर रहा है, अन्यथा नहीं। इसलिए, हमने अपने होम डायरेक्टरी में Cron.sh नाम की एक बैश फाइल बनाने का फैसला किया। इस फाइल को बनाने के बाद हमने इसे खोला और नीचे इमेज में दिखाई गई स्क्रिप्ट को अपनी बैश फाइल में टाइप किया। यह स्क्रिप्ट बस टर्मिनल पर एक डमी संदेश प्रिंट करती है। फिर हमने अपनी बैश फाइल को सेव करके बंद कर दिया है।

अगला कदम हमारी बैश फ़ाइल को निष्पादन योग्य बनाना है ताकि हमारे क्रॉस्टैब जॉब को इस बैश फ़ाइल को निष्पादित करने का विशेषाधिकार प्राप्त हो। हमारी नई बनाई गई बैश स्क्रिप्ट को निष्पादन योग्य बनाने के लिए, हम अपने टर्मिनल में निम्नलिखित कमांड चलाएंगे:

$ chmod +x क्रोन.श

इस कमांड को चलाने से टर्मिनल पर कोई आउटपुट प्रदर्शित नहीं होगा बल्कि नियंत्रण आपको वापस सौंप दिया जाएगा जो यह संकेत देगा कि इस कमांड को सफलतापूर्वक निष्पादित किया गया है।

अब हम इस बैश फाइल को चलाने के लिए एक क्रोंटैब जॉब बनाएंगे। उसके लिए, हमें नीचे बताए गए कमांड को चलाकर टर्मिनल पर crontab फ़ाइल खोलने की आवश्यकता है:

$क्रोंटैब -ई

जब crontab फ़ाइल आपके टर्मिनल पर दिखाई देगी, तो आपको अपनी फ़ाइल में निम्न छवि में हाइलाइट की गई लाइन टाइप करनी होगी। इस लाइन को टाइप करने से हमारी बैश फाइल को हर सेकेंड में निष्पादित करने के लिए एक क्रॉस्टैब जॉब बन जाएगा। हमने क्रोंटैब फाइल को सेव करने और उसे बंद करने के लिए Ctrl+X दबाया है ताकि हम आगे बढ़ सकें।

जैसे ही यह फ़ाइल बंद होगी, क्रोन डेमॉन नया क्रॉस्टैब स्थापित करेगा जैसा कि नीचे दी गई छवि में दिखाया गया है क्योंकि हमने अभी-अभी क्रॉस्टैब फ़ाइल को संशोधित किया है।

अगर हमारा क्रोंटैब ठीक काम कर रहा होगा, तो हमारी बैश स्क्रिप्ट हर सेकेंड में निष्पादित की जाएगी। इसे सत्यापित करने के लिए, हमें टर्मिनल में निम्न कमांड चलाकर/var/log/syslog फ़ाइल को देखना होगा:

$ sudo grep –a Cron.sh / var / log / syslog

इस फ़ाइल में आपकी बैश फ़ाइल को निष्पादित किए जाने के हर समय का एक लॉग होगा, जिसका अर्थ यह होगा कि आपका कॉन्टैब काम कर रहा है जैसा कि नीचे दी गई छवि में दिखाया गया है:

निष्कर्ष

आज के लेख में, हमने आपको यह सत्यापित करने के दो तरीके सिखाए हैं कि क्रोंटैब काम कर रहा है या नहीं। पहली विधि आपके लिए काफी पर्याप्त होनी चाहिए यदि आप केवल अपनी crontab सेवा की स्थिति की जाँच करने का इरादा रखते हैं, हालाँकि, यदि आप यह देखना चाहते हैं कि कोई विशेष crontab कार्य सफलतापूर्वक निष्पादित हो रहा है या नहीं, तो आपको विधि # 2 का प्रदर्शन करना होगा। इन विधियों को लिनक्स टकसाल 20 पर निष्पादित किया गया था, हालांकि, आप किसी अन्य पसंदीदा लिनक्स वितरण का भी उपयोग कर सकते हैं।