Crontab क्या है?
क्रोन का नाम ग्रीक शब्द "क्रोनोस" के नाम पर रखा गया है जिसका उपयोग समय के लिए किया जाता है। यह एक प्रणाली प्रक्रिया है जो विशिष्ट अनुसूची के अनुसार स्वचालित रूप से कार्य करेगी। यह आदेशों का एक समूह है जो नियमित शेड्यूलिंग कार्यों को चलाने के लिए उपयोग किया जाता है। Crontab "क्रोन टेबल" के लिए खड़ा है। यह नौकरी अनुसूचक का उपयोग करने की अनुमति देता है, जिसे कार्यों को निष्पादित करने के लिए क्रोन के रूप में जाना जाता है।
Crontab उस प्रोग्राम का नाम भी है, जिसका उपयोग उस शेड्यूल को संपादित करने के लिए किया जाता है। यह एक क्रॉस्टैब फ़ाइल द्वारा संचालित होता है, एक कॉन्फ़िग फ़ाइल जो शेल शेड्यूल को विशिष्ट समय-समय पर चलाने के लिए इंगित करती है।
इस ऑपरेटिंग सिस्टम ट्यूटोरियल में, आप सीखेंगे:
- Crontab क्या है?
- CRONJOB का उपयोग क्यों करें?
- लिनक्स में क्रोन का उपयोग कैसे करें?
- लिनक्स Crontab प्रारूप
- Crontab कैसे जोड़ें / संशोधित करें
- कैसे करें Crontab की सूची
- महत्वपूर्ण Crontab उदाहरण
क्रोनोजर का उपयोग क्यों करें?
यहाँ लिनक्स में क्रोनोजर का उपयोग करने के कारण हैं:
- लॉग फाइल या डेटाबेस का अनुसूचित बैकअप लेने में OS की मदद करता है।
- पुरानी लॉग फाइलें हटाएं
- पुरालेख और डेटाबेस तालिकाएँ शुद्ध करें
- न्यूज़लेटर्स, पासवर्ड समाप्ति ईमेल जैसे किसी भी अधिसूचना ईमेल को भेजें
- कैश्ड डेटा की नियमित सफाई
- Crontab यूनिक्स नौकरियों को स्वचालित करने के लिए एक आदर्श विकल्प है।
- इसका उपयोग सिस्टम रखरखाव को स्वचालित करने के लिए किया जाता है
लिनक्स में क्रोन का उपयोग कैसे करें?
लिनक्स सिस्टम पैक में क्रॉस्टैब नामक एक उपयोगी कार्य अनुसूचक है। Crontab लोकप्रिय है क्योंकि इसे रूट के रूप में स्वचालित प्रक्रिया चलाने के लिए निर्धारित किया जा सकता है। इसलिए, रूट के रूप में चल रही एक स्वचालित प्रक्रिया होने से सिस्टम में बदलाव करना आसान हो जाता है। आपको बस कार्य को बदलने की आवश्यकता है और तब तक प्रतीक्षा करें जब तक कार्य फिर से शुरू न हो जाए।
लिनक्स Crontab प्रारूप
लिनक्स के Crontab में छह क्षेत्र हैं। पहले पांच फ़ील्ड निष्पादन की समय और तारीख को परिभाषित करते हैं, और 6'th फ़ील्ड का उपयोग कमांड निष्पादन के लिए किया जाता है।
Crontab सिंटैक्स:
[Minute] [hour][Day_of_the_Month][Month_of_the_Year][Day_of_the_Week][command]
- Astrics (*): मिलान के लिए उपयोग करें
- सीमा को परिभाषित करें: आप 1-10 या 30-40 या जून-मार्च, मोन-वेड जैसे हाइफ़न की मदद से एक सीमा को परिभाषित करने की अनुमति देता है।
- कई श्रेणियों को परिभाषित करें: आपको विभिन्न श्रेणियों को परिभाषित करने की अनुमति देता है जैसे कि apr-jun, oct-dec।
Crontab कैसे जोड़ें / संशोधित करें
उपयोगकर्ता निम्नलिखित क्रॉस्टैब कमांड की मदद से अपने क्रॉस्टैब की नौकरियों को संपादित कर सकते हैं:
$ crontab -u -e
उपरोक्त कमांड आपके कंप्यूटर सिस्टम के व्यक्तिगत क्रॉस्टैब कॉन्फ़िगरेशन को खोलेगी, जिसे आपके डिफ़ॉल्ट टेक्स्ट एडिटर का उपयोग करके संपादित किया जा सकता है।
अपने crontab को पुनरारंभ करने की कोई आवश्यकता नहीं है क्योंकि जब आप निम्न आदेश का उपयोग करते हैं तो यह आपके परिवर्तनों को स्वचालित रूप से उठाएगा।
$ crontab -l
अपने crontab कार्यों को निकालने के लिए, निम्न कमांड का उपयोग करें।
$ crontab -r
Crontab में नौकरी जोड़ने या अपडेट करने के लिए, नीचे दी गई कमांड का उपयोग करें।
crontab -e
अन्य उपयोगकर्ता के क्रॉस्टैब को संपादित करने की कमान
crontab -u username -e
कैसे करें Crontab की सूची
वर्तमान उपयोगकर्ता की crontab प्रविष्टियों को देखने के लिए आदेश
crontab -l
किसी विशिष्ट उपयोगकर्ता की क्रॉस्टैब प्रविष्टियों को देखने की आज्ञा:
crontab -u username -l
महत्वपूर्ण Crontab उदाहरण
यहाँ, Crontab के कुछ महत्वपूर्ण उदाहरण हैं
विवरण | आदेश |
विभिन्न समयबद्धन कार्य करने के लिए क्रोन कमांड। नीचे दिए गए आदेश को रोजाना सुबह 7 बजे और शाम 5 बजे तक निष्पादित करें |
0 7,17 * * * /scripts/script.sh |
हर 5 मिनट के बाद एक क्रोन निष्पादित करने की कमान। |
*/5* * * * * /scripts/script.sh |
क्रोन शेड्यूलर कमांड आपको प्रत्येक सोमवार को सुबह 5 बजे कार्य निष्पादित करने में मदद करता है। यह कमांड सिस्टम क्लीन-अप जैसे साप्ताहिक कार्यों को करने के लिए सहायक है। |
0 5 * * mon /scripts/script.sh |
कमांड आपकी स्क्रिप्ट को 3 मिनट के अंतराल पर चलाती है। |
*/3 * * * * /scripts/monitor.sh |
एक क्रोन को शेड्यूल करने के लिए कमांड करें जो एक विशिष्ट महीने के लिए निष्पादित करता है। यह कार्य फरवरी, जून और सितंबर महीनों में चलने वाले कार्यों को चलाने के लिए है। कभी-कभी हमें चुनिंदा मासिक कार्य को निष्पादित करने के लिए किसी कार्य को शेड्यूल करने की आवश्यकता होती है। |
* * * feb,jun,sep * /script/script.sh |
चयनित दिनों में निष्पादित करने की कमान। यह उदाहरण प्रत्येक सोमवार और बुधवार शाम 5 बजे चलेगा। |
0 17 * * mon,wed /script/script.sh |
यह आदेश क्रोन को हर महीने के पहले शनिवार को निष्पादित करने की अनुमति देता है। |
0 2 * * sat [ $(date +%d) -le 06 ] && /script/script.sh |
स्क्रिप्ट को 6 घंटे के अंतराल पर चलाने की आज्ञा दें ताकि इसे नीचे की तरह कॉन्फ़िगर किया जा सके। |
0 */6 * * * /scripts/script.sh |
यह कमांड सोमवार और मंगलवार को दो बार निष्पादित करने के लिए एक कार्य शेड्यूल करता है। इसे करने के लिए निम्न सेटिंग्स का उपयोग करें। |
0 4,17 * * mon,tue /scripts/script.sh |
कमान हर 15 सेकंड के बाद निष्पादित करने के लिए एक क्रोन अनुसूची। |
* * * * * /scripts/script.sh* * * * * sleep 15; /scripts/script.sh |
वार्षिक आधार पर कार्यों को निर्धारित करने की कमान। @yearly टाइमस्टैम्प है = "से 0 0 5 1 *"। यह प्रत्येक वर्ष के पांचवें मिनट में कार्य को निष्पादित करता है। आप इसे नए साल की शुभकामनाओं के लिए भेज सकते हैं। |
@yearly /scripts/script.sh |
मासिक आधार पर निष्पादित करने के लिए कमांड कार्य। @ मासिक टाइमस्टैम्प "0 0 1 * *" के समान है। यह कमांड एक्सप्रेशन महीने के पहले मिनट में किसी कार्य के निष्पादन की अनुमति देता है। |
@monthly /scripts/script.sh |
एक क्रोन का उपयोग करके कई कार्यों को निष्पादित करने की कमान। |
* * * * * /scripts/script.sh; /scripts/scrit2.sh |
साप्ताहिक आधार पर निष्पादित करने के लिए कार्यों को निर्धारित करने की कमान। @weekly टाइमस्टैम्प "0 0 4 * सूरज" के समान है। इसका उपयोग साप्ताहिक कार्यों जैसे सिस्टम क्लीनअप आदि करने के लिए किया जाता है। |
@weekly /bin/script.sh |
टास्क को दैनिक आधार पर निष्पादित करने के लिए निर्धारित किया जाएगा। @ डेली टाइमस्टैम्प "0 2 * * *" के समान है। यह हर दिन के दूसरे मिनट में कार्य को अंजाम देता है। |
@daily /scripts/script.sh |
एक घंटे में कार्यों को निष्पादित करने की अनुमति देता है। @ आमतौर पर टाइमस्टैम्प "0 * * * *" के समान है। यह कमांड हर घंटे के पहले मिनट में किसी कार्य को अंजाम देता है। |
@hourly /scripts/script.sh |
सिस्टम रिबूट पर कार्य निष्पादित करने की अनुमति देता है। @reboot अभिव्यक्ति उन कार्यों के लिए उपयोगी है जो सिस्टम आपके सिस्टम स्टार्टअप पर चलाना चाहता है। यह स्वचालित रूप से कार्य पृष्ठभूमि शुरू करने के लिए सहायक है। |
@reboot /scripts/script.sh |
सारांश:
- क्रोन का नाम ग्रीक शब्द "क्रोनोस" के नाम पर रखा गया है जिसका उपयोग समय के लिए किया जाता है।
- Cronjobs लॉग फाइल या डेटाबेस का अनुसूचित बैकअप लेने में OS की मदद करता है।
- लिनक्स सिस्टम पैक में क्रॉस्टैब नामक एक उपयोगी कार्य अनुसूचक है जिसे रूट के रूप में स्वचालित प्रक्रिया चलाने के लिए शेड्यूल किया जा सकता है।
- लिनक्स के Crontab में छह क्षेत्र हैं। पहले पांच फ़ील्ड निष्पादन की समय और तारीख को परिभाषित करते हैं, और 6'th फ़ील्ड का उपयोग कमांड निष्पादन के लिए किया जाता है।