संपादित 1 सप्ताह पहले द्वारा ExtremeHow संपादकीय टीम
क्रॉनउबंटूस्वचालनलिनक्सअनुसूची निर्माणऑपरेटिंग सिस्टमप्रणालीप्रशासनकमांड लाइनरखरखाव
अनुवाद अपडेट किया गया 2 सप्ताह पहले
Ubuntu में क्रॉन जॉब सेट करना किसी भी सिस्टम एडमिनिस्ट्रेटर या उनके लिए जो दोहराव वाले कार्यों को स्वचालित करते हैं, के लिए एक आवश्यक कौशल है। इस गाइड में, हम क्रॉन और क्रॉनटैब का अन्वेषण करेंगे, जो Unix-जैसे ऑपरेटिंग सिस्टम में कार्यों को प्रभावी ढंग से स्वचालित और अनुसूचित करने के उपकरण हैं।
क्रॉन डेमन एक बैकग्राउंड सेवा है जो Unix-जैसे ऑपरेटिंग सिस्टम पर चलती है और निर्धारित कमांड या स्क्रिप्ट्स को निष्पादित करती है। कमांड या स्क्रिप्ट्स को एक विशेष फ़ाइल में निर्दिष्ट किया जाता है जिसे क्रॉनटैब कहा जाता है। प्रत्येक उपयोगकर्ता की अपनी क्रॉनटैब होती है, जो उन्हें सिस्टम की समग्र कॉन्फ़िगरेशन को प्रभावित किए बिना कार्यों को निर्धारित करने की अनुमति देती है।
क्रॉन जॉब के लिए एक आम उपयोग मामला हो सकता है कि बैकअप स्क्रिप्ट को रोज़ाना आधी रात को चलाना, अस्थायी फ़ाइलों को साप्ताहिक साफ़ करना, या समय-समय पर ईमेल रिपोर्ट भेजना।
क्रॉन जॉब्स को क्रॉनटैब फ़ाइल में एक विशेष सिंटैक्स द्वारा परिभाषित किया जाता है। एक क्रॉन जॉब के लिए मूल प्रारूप में छह फ़ील्ड शामिल होते हैं:
एक उदाहरण क्रॉन जॉब प्रविष्टि जो /home/user/backup.sh
पर स्थित स्क्रिप्ट को हर दिन सुबह 3 बजे चलाती है, इस प्रकार दिखती है:
0 3 * * * /home/user/backup.sh
क्रॉन जॉब्स बनाने या संपादित करने के लिए, आपको क्रॉनटैब फ़ाइल तक पहुंच की आवश्यकता होती है। अपने डिफ़ॉल्ट टेक्स्ट संपादक में क्रॉनटैब खोलने के लिए निम्नलिखित कमांड का उपयोग करें:
crontab -e
जब आप इस कमांड को चलाते हैं, तो यह मौजूदा उपयोगकर्ता के लिए क्रॉनटैब फ़ाइल को एक टेक्स्ट संपादक में खोलता है, जो आमतौर पर क्रॉनटैब के लिए डिफ़ॉल्ट रूप से सेट होता है, जैसे nano या vi।
क्रॉनटैब में, विशेष अक्षर और कुंजी शब्द शेड्यूलिंग को सरल बनाने के लिए उपयोग किए जा सकते हैं। यहाँ कुछ सबसे सामान्य अक्षर हैं:
*
: किसी भी मान का प्रतिनिधित्व करता है। उदाहरण के लिए, "घंटे" फ़ील्ड में *
का उपयोग करने का अर्थ है "हर घंटे"।,
: मानों की एक सूची निर्दिष्ट करने की अनुमति देता है। उदाहरण के लिए, "सप्ताह का दिन" फ़ील्ड में 1,2,5
का अर्थ है सोमवार, मंगलवार, और शुक्रवार।-
: मूल्यों की एक सीमा सेट करता है। "सप्ताह का दिन" फ़ील्ड में 1-5
का अर्थ है सोमवार से शुक्रवार।/
: स्टेप मान निर्दिष्ट करता है। "घंटे" फ़ील्ड में */2
का अर्थ है हर दो घंटे।@reboot
, @yearly
, @monthly
, @weekly
, @daily
, @hourly
, जैसे कि @daily का अर्थ है दिन में एक बार कार्य चलाना।उदाहरण के लिए, हर दो घंटे में स्क्रिप्ट चलाने के लिए एक क्रॉन जॉब प्रविष्टि इस प्रकार हो सकती है:
0 */2 * * * /home/user/script.sh
एक बार जब आप मूल सिंटैक्स और विशेष अक्षरों को समझ लेते हैं, तो आप अपना खुद का क्रॉन जॉब लिख सकते हैं। मान लीजिए कि आपके पास /home/user/cleanup.sh
पर एक स्क्रिप्ट है जिसे आप हर दिन दोपहर 4:30 बजे चलाना चाहते हैं। आपके क्रॉनटैब में निम्नलिखित लाइन जोड़नी होगी:
30 16 * * * /home/user/cleanup.sh
फ़ाइल को सहेजें और संपादक से बाहर निकलें। नया क्रॉन जॉब अब सेट हो गया है।
वर्तमान उपयोगकर्ता के लिए क्रॉन जॉब्स की सूची देखने के लिए, निम्नलिखित कमांड का उपयोग करें:
crontab -l
यह कमांड वर्तमान उपयोगकर्ता के लिए निर्धारित सभी क्रॉन जॉब्स को प्रदर्शित करता है।
क्रॉन जॉब को हटाने के लिए, बस crontab -e
का उपयोग करके क्रॉनटैब फ़ाइल खोलें, उस लाइन को हटा दें जिसकी आपको आवश्यकता नहीं है, फिर फ़ाइल सहेजें और बंद करें।
क्रॉन जॉब्स को प्रभावी ढंग से उपयोग करने पर शक्तिशाली हो सकते हैं। यहाँ कुछ सामान्य उपयोग संबंधी मामले हैं:
यहाँ कुछ और उदाहरण हैं जो आपकी समझ को मजबूत करने में मदद करेंगे:
0 9 * * 1-5 /path/to/your/script.sh
0 0 1 * * /path/to/your/command
0 7 * * * /usr/bin/sendmail user@example.com < /home/user/email.txt
क्रॉन जॉब की सक्षमता की जाँच करने या डिबग करने के लिए, आप उन लॉग फ़ाइलों की जांच कर सकते हैं जहां क्रॉन डेमन अपनी गतिविधियाँ लॉग करता है। ये लॉग आमतौर पर /var/log/
निर्देशिका में पाए जाते हैं और कुछ सिस्टम्स में फ़ाइलों का नाम syslog
या cron.log
होता है।
क्रॉन लॉग्स को देखने के लिए, निम्नलिखित कमांड का उपयोग करें:
cat /var/log/syslog | grep cron
क्रॉन लॉग्स को शामिल या बहिष्कृत करने के लिए /etc/rsyslog.d/50-default.conf
फ़ाइल में लॉगिंग कॉन्फ़िगरेशन को आवश्यकतानुसार समायोजित करें।
यहाँ क्रॉन जॉब्स को प्रबंधित करने के लिए कुछ सुझाव और सर्वोत्तम प्रथाएँ हैं:
यह व्यापक गाइड आपको समझाता है कि क्रॉन जॉब्स कैसे काम करते हैं और उन्हें Ubuntu में प्रभावी ढंग से कैसे सेट किया जा सकता है। गाइडलाइन्स का पालन करके और उदाहरणों का अभ्यास करके, आप कार्यों को स्वचालित, समय की बचत और सिस्टम प्रदर्शन को प्रभावी ढंग से बढ़ाने में सक्षम होंगे।
यदि आपको लेख की सामग्री में कुछ गलत लगता है, आप कर सकते हैं