Skip to main content

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

कैसे Ubuntu 16.04 पर एक स्क्रिप्ट चलाने के लिए एक क्रॉन जॉब शेड्यूल करने के लिए (जून 2026)

कैसे Ubuntu 16.04 पर एक स्क्रिप्ट चलाने के लिए एक क्रॉन जॉब शेड्यूल करने के लिए (जून 2026)
Anonim

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

क्रोन फ़ोल्डर्स में स्क्रिप्ट रखो

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

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

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

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

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

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

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

अनुमतियां

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

  • /etc/cron.allow
  • /etc/cron.deny

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

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

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

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

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

crontab -l

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

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

क्रोंटब-ए

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

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

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

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

  • दिन का मिनट कमांड चलाने के लिए है (एम)
  • जिस दिन आदेश चलाने के लिए आदेश है (एच)
  • महीने का दिन आदेश चलाने के लिए है (डोम)
  • जिस महीने कमांड चलाने के लिए है (सोम)
  • सप्ताह के दिन आदेश चलाने के लिए है (डॉव)
  • आदेश

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

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

30 मिनट, 18 घंटे और किसी भी दिन, सप्ताह के महीने और दिन, यह crontab प्रविष्टि / var / बैकअप फ़ोल्डर में होम निर्देशिका को ज़िप और टैर करेगा।

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

30 * * * * कमांड

पिछले 6 मिनट में हर मिनट चलाने के लिए कमांड प्राप्त करने के लिए, निम्न आदेश चलाएं:

* 18 * * * कमांड

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

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

* * * 1 * कमांड

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

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

0 5 1 1 * कमांड

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

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

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

crontab -r

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

crontab -i

क्रॉन्टाब फ़ाइल को हटाने से पहले ऑपरेटिंग सिस्टम सत्यापन के लिए पूछता है।