जॉब्स शेड्यूल करने के लिए लिनक्स क्रोंटैब फ़ाइल को कैसे संपादित करें

परिचय

लिनक्स में क्रोन नामक एक डिमन है जिसे नियमित अंतराल पर प्रक्रियाओं को चलाने के लिए प्रयोग किया जाता है।

जिस तरह से यह स्क्रिप्ट चलाने के लिए आपके सिस्टम पर कुछ फ़ोल्डरों की जांच करना है। उदाहरण के लिए /etc/cron.hourly, /etc/cron.daily, /etc/cron.weekly और /etc/cron.monthly नामक फ़ोल्डर है। / Etc / crontab नामक एक फ़ाइल भी है।

डिफ़ॉल्ट रूप से आप नियमित अंतराल चलाने के लिए उन्हें प्रासंगिक फ़ोल्डर्स में स्क्रिप्ट डाल सकते हैं।

उदाहरण के लिए टर्मिनल विंडो खोलें (CTRL, ALT और T दबाकर) और निम्न ls कमांड चलाएं:

एलएस / आदि / क्रॉन *

आप प्रोग्राम या स्क्रिप्ट की सूची देखेंगे जो प्रति घंटा, दैनिक, साप्ताहिक और मासिक चलती हैं।

इन फ़ोल्डरों के साथ समस्या यह है कि वे थोड़ा अस्पष्ट हैं। उदाहरण के लिए दैनिक का मतलब है कि स्क्रिप्ट दिन में एक बार चलती है लेकिन उस दिन आपके पास उस पर नियंत्रण नहीं होता है जब स्क्रिप्ट उस दिन चलती है।

वह जगह है जहां crontab फ़ाइल आती है।

क्रॉन्टाब फ़ाइल को संपादित करके आप उस स्क्रिप्ट या प्रोग्राम को सटीक दिनांक और समय पर चलाने के लिए प्राप्त कर सकते हैं, जिसे आप इसे चलाने के लिए चाहते हैं। उदाहरण के लिए शायद आप हर रात 6 बजे अपनी फाइलों का बैकअप लेना चाहते हैं।

अनुमतियां

Crontab कमांड के लिए आवश्यक है कि उपयोगकर्ता को क्रॉन्टाब फ़ाइल को संपादित करने की अनुमति हो। मूल रूप से दो फाइलें हैं जिनका उपयोग क्रोंटैब अनुमतियों को प्रबंधित करने के लिए किया जाता है:

अगर फ़ाइल /etc/cron.allow मौजूद है तो उपयोगकर्ता crontab फ़ाइल को संपादित करना चाहते हैं उस फ़ाइल में होना चाहिए। यदि cron.allow फ़ाइल मौजूद नहीं है लेकिन एक /etc/cron.deny फ़ाइल है तो उपयोगकर्ता उस फ़ाइल में मौजूद नहीं होना चाहिए।

यदि दोनों फाइलें मौजूद हैं तो /etc/cron.allow /etc/cron.deny फ़ाइल को ओवरराइड करता है।

यदि न तो फ़ाइल मौजूद है तो यह सिस्टम कॉन्फ़िगरेशन पर निर्भर करता है कि कोई उपयोगकर्ता क्रॉन्टाब को संपादित कर सकता है या नहीं।

रूट उपयोगकर्ता हमेशा crontab फ़ाइल को संपादित कर सकते हैं। आप या तो crontab कमांड चलाने के लिए रूट उपयोगकर्ता या sudo कमांड पर स्विच करने के लिए su कमांड का उपयोग कर सकते हैं।

Crontab फ़ाइल संपादन

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

यह जांचने के लिए कि क्या आपके पास crontab फ़ाइल निम्न आदेश चलाती है:

crontab -l

यदि आपके पास क्रॉन्टाब फ़ाइल नहीं है तो संदेश " के लिए कोई क्रॉन्टाब नहीं दिखाई देगा" अन्यथा आपकी क्रॉन्टाब फ़ाइल प्रदर्शित की जाएगी (यह कार्यक्षमता सिस्टम से सिस्टम में भिन्न होती है, कभी-कभी यह कुछ भी प्रदर्शित नहीं करती है और अन्य बार प्रदर्शित होती है, " इस फ़ाइल को संपादित न करें ")।

क्रॉन्टाब फ़ाइल बनाने या संपादित करने के लिए निम्न आदेश चलाएं:

क्रोंटब-ए

डिफ़ॉल्ट रूप से यदि कोई डिफ़ॉल्ट संपादक चयनित नहीं है तो आपको उपयोग करने के लिए एक डिफ़ॉल्ट संपादक का चयन करने के लिए कहा जाएगा। व्यक्तिगत रूप से मैं नैनो का उपयोग करना पसंद करता हूं क्योंकि यह उपयोग करने के लिए काफी सीधे है और यह टर्मिनल से चलता है।

खुलने वाली फ़ाइल में बहुत सारी जानकारी होती है लेकिन मुख्य भाग टिप्पणी अनुभाग के अंत से पहले उदाहरण है (टिप्पणियां # से शुरू होने वाली रेखाओं द्वारा इंगित की जाती हैं)।

# एमएच डोम मोन डॉव कमांड

0 5 * * 1 tar -zcf /var/backups/home.tgz / home /

Crontab फ़ाइल की प्रत्येक पंक्ति पर फिट करने के लिए जानकारी के 6 टुकड़े हैं:

प्रत्येक आइटम के लिए (कमांड को छोड़कर) आप वाइल्डकार्ड वर्ण निर्दिष्ट कर सकते हैं। निम्न उदाहरण क्रोंटैब लाइन को देखें:

30 18 * * * tar -zcf /var/backups/home.tgz / home /

उपरोक्त आदेश क्या कह रहा है 30 मिनट, 18 घंटे और किसी भी दिन, सप्ताह का दिन और दिन सप्ताह के लिए एक निर्देशिका चलाने के लिए एक आदेश चलाता है और घर निर्देशिका को / var / बैकअप फ़ोल्डर में टैर करता है।

हर घंटे 30 मिनट में चलाने के लिए कमांड प्राप्त करने के लिए मैं निम्न आदेश चला सकता हूं:

30 * * * * कमांड

पिछले 6 बजे हर मिनट चलाने के लिए कमांड प्राप्त करने के लिए मैं निम्न आदेश चला सकता हूं:

* 18 * * * कमांड

इसलिए आपको अपने क्रॉन्टाब कमांड को सेट करने के बारे में सावधान रहना होगा।

उदाहरण के लिए:

* * * 1 * कमांड

उपरोक्त आदेश जनवरी में हर सप्ताह के हर दिन हर घंटे के हर मिनट चलाएगा। मुझे संदेह है कि आप यही चाहते हैं।

1 जनवरी को 5 बजे एक कमांड चलाने के लिए आप निम्न आदेश पर crontab फ़ाइल में करेंगे:

0 5 1 1 * कमांड

एक Crontab फ़ाइल को कैसे निकालें

अधिकांश समय आप क्रॉन्टाब फ़ाइल को हटाना नहीं चाहते हैं लेकिन आप क्रॉन्टाब फ़ाइल से कुछ पंक्तियों को हटाना चाहेंगे।

हालांकि अगर आप अपने उपयोगकर्ता की क्रॉन्टाब फ़ाइल को हटाना चाहते हैं तो निम्न आदेश चलाएं:

crontab -r

ऐसा करने का एक सुरक्षित तरीका निम्न आदेश को चलाने के लिए है:

crontab -i

यह सवाल पूछता है "क्या आप निश्चित हैं?" crontab फ़ाइल को हटाने से पहले।