लिनक्स / मैक ट्यूटोरियल: क्रॉन नौकरी - कैसे अनुसूची आदेश को crontab के साथ
विषयसूची:
- Crontab फ़ाइल क्या है
- Crontab सिंटेक्स और ऑपरेटरों
- सिस्टम चौड़ा Crontab फ़ाइलें
- पूर्वनिर्धारित मैक्रों
- लिनक्स Crontab कमांड
- Crontab चर
- Crontab प्रतिबंध
- क्रोन जॉब्स उदाहरण
- निष्कर्ष
क्रोन एक शेड्यूलिंग डेमॉन है जो निर्दिष्ट अंतराल पर कार्यों को निष्पादित करता है। इन कार्यों को क्रोन जॉब्स कहा जाता है और ज्यादातर सिस्टम रखरखाव या प्रशासन को स्वचालित करने के लिए उपयोग किया जाता है।
उदाहरण के लिए, आप पुनरावृत्ति कार्यों को स्वचालित करने के लिए क्रोन जॉब सेट कर सकते हैं जैसे डेटाबेस या डेटा का बैकअप लेना, नवीनतम सुरक्षा पैच के साथ सिस्टम को अपडेट करना, डिस्क स्थान उपयोग की जांच करना, ईमेल भेजना आदि। कुछ अनुप्रयोगों, जैसे कि ड्रुपल या मैगेंटो, को कुछ कार्यों को करने के लिए क्रोन नौकरियों की आवश्यकता होती है।
क्रोन नौकरियों को मिनट, घंटे, महीने के दिन, महीने, सप्ताह के दिन या इनमें से किसी भी संयोजन से चलाने के लिए निर्धारित किया जा सकता है।
Crontab फ़ाइल क्या है
Crontab (क्रोन टेबल) एक पाठ फ़ाइल है जो क्रोन नौकरियों की अनुसूची को निर्दिष्ट करती है। दो प्रकार की crontab फाइलें हैं। सिस्टम-वाइड क्रॉस्टैब फाइलें और अलग-अलग यूजर क्रॉस्टैब फाइल्स।
उपयोगकर्ता crontab फ़ाइलों को उपयोगकर्ता के नाम से संग्रहीत किया जाता है, और उनका स्थान ऑपरेटिंग सिस्टम द्वारा भिन्न होता है। Red Hat आधारित प्रणाली जैसे CentOS में, crontab फाइलें
/var/spool/cron
निर्देशिका में संग्रहीत की जाती हैं, जबकि Debian और Ubuntu फ़ाइलों को
/var/spool/cron/crontabs
निर्देशिका में संग्रहीत किया जाता है।
यद्यपि आप उपयोगकर्ता क्रॉस्टैब फ़ाइलों को मैन्युअल रूप से संपादित कर सकते हैं, यह
crontab
कमांड का उपयोग करने के लिए अनुशंसित है।
/etc/crontab
और
/etc/cron.d
निर्देशिका के अंदर की फाइलें सिस्टम-वाइड crontab फाइलें हैं जिन्हें केवल सिस्टम प्रशासक द्वारा संपादित किया जा सकता है।
अधिकांश लिनक्स वितरण में आप
/etc/cron.{hourly, daily, weekly, monthly}
निर्देशिकाओं के अंदर स्क्रिप्ट भी डाल सकते हैं और स्क्रिप्ट को हर
hour/day/week/month
निष्पादित किया जाएगा।
Crontab सिंटेक्स और ऑपरेटरों
उपयोगकर्ता crontab फ़ाइल में प्रत्येक पंक्ति में छह फ़ील्ड होते हैं जिन्हें एक स्थान द्वारा अलग किया जाता है जिसके बाद कमांड को चलाया जाना चाहिए।
* * * * * command(s) - - - - - | | | | | | | | | ----- Day of week (0 - 7) (Sunday=0 or 7) | | | ------- Month (1 - 12) | | --------- Day of month (1 - 31) | ----------- Hour (0 - 23) ------------- Minute (0 - 59)
पहले पाँच क्षेत्रों में एक या एक से अधिक मान हो सकते हैं, एक अल्पविराम द्वारा अलग किए गए या एक हाइफ़न द्वारा अलग किए गए मान हो सकते हैं।
-
*
-तारांकन ऑपरेटर का मतलब है कोई भी मूल्य या हमेशा। यदि आपके पास ऑवर फ़ील्ड में तारांकन चिह्न है, तो इसका मतलब है कि कार्य प्रत्येक घंटे में किया जाएगा।,
-अल्पविराम ऑपरेटर आपको पुनरावृत्ति के लिए मूल्यों की एक सूची निर्दिष्ट करने की अनुमति देता है। उदाहरण के लिए, यदि आपके पास घंटे के क्षेत्र में1, 3, 5
, तो कार्य 1 बजे, 3 बजे और 5 बजे चलेगा।-
- हाइफ़न ऑपरेटर आपको कई मान निर्दिष्ट करने की अनुमति देता है। यदि आपके पास सप्ताह क्षेत्र के दिन में1-5
है, तो कार्य प्रत्येक सप्ताह के दिन (सोमवार से शुक्रवार तक) चलेगा।/
-The स्लैश ऑपरेटर आपको उन मूल्यों को निर्दिष्ट करने की अनुमति देता है जो उनके बीच एक निश्चित अंतराल पर दोहराए जाएंगे। उदाहरण के लिए, यदि आपके पास घंटा क्षेत्र में*/4
है, तो इसका मतलब है कि कार्रवाई हर चार घंटे में की जाएगी। यह0, 4, 8, 12, 16, 20
निर्दिष्ट करने के0, 4, 8, 12, 16, 20
। स्लैश ऑपरेटर से पहले तारांकन के बजाय, आप मूल्यों की एक श्रृंखला का उपयोग कर सकते हैं,1-30/10
मतलब1, 11, 21
के समान है।
सिस्टम चौड़ा Crontab फ़ाइलें
सिस्टम-वाइड क्रॉस्टैब फ़ाइलों का सिंटैक्स उपयोगकर्ता क्रॉस्टैब्स की तुलना में थोड़ा अलग है। इसमें एक अतिरिक्त अनिवार्य उपयोगकर्ता फ़ील्ड शामिल है जो निर्दिष्ट करता है कि कौन सा उपयोगकर्ता क्रोन जॉब चलाएगा।
सामान्य अंतराल निर्दिष्ट करने के लिए कई विशेष क्रोन शेड्यूल मैक्रोज़ का उपयोग किया जाता है। आप इस कॉलम को पांच-कॉलम की तारीख विनिर्देश के स्थान पर उपयोग कर सकते हैं। Crontab कमांड आपको संपादन के लिए crontab फ़ाइल को स्थापित करने या खोलने की अनुमति देता है। आप निम्न विकल्पों का उपयोग करके क्रोन नौकरियों को देखने, जोड़ने, हटाने या संशोधित करने के लिए क्रॉन्स्ट कमांड का उपयोग कर सकते हैं: Crontab कमांड विज़ुअलेट या
क्रोन डेमॉन स्वचालित रूप से कई पर्यावरण चर निर्धारित करता है। सिस्टम प्रशासक नियंत्रित कर सकते हैं कि कौन से उपयोगकर्ताओं के पास
डिफ़ॉल्ट रूप से केवल
यदि
यदि कोई फ़ाइल मौजूद नहीं है, तो केवल प्रशासनिक विशेषाधिकार वाले उपयोगकर्ता ही
नीचे कुछ क्रोन जॉब के उदाहरण दिए गए हैं जो आपको दिखाएंगे कि किसी कार्य को अलग-अलग समय अवधि पर चलाने के लिए कैसे शेड्यूल किया जाए। सोमवार से शुक्रवार तक हर दिन 15:00 बजे एक कमांड चलाएँ: हर 5 मिनट में एक स्क्रिप्ट चलाएं और मानक आउटपुट को
हर सोमवार दोपहर 3 बजे दो कमांड चलाएं (कमांड के बीच ऑपरेटर
हर 2 मिनट में एक PHP स्क्रिप्ट चलाएँ और फ़ाइल में आउटपुट लिखें: एक स्क्रिप्ट को हर दिन, हर घंटे, घंटे पर, सुबह 8 बजे से शाम 4 बजे तक चलाएं: प्रत्येक महीने के पहले सोमवार को सुबह 7 बजे एक स्क्रिप्ट चलाएं हर महीने की 1 और 15 तारीख को रात 9:15 बजे एक स्क्रिप्ट चलाएँ: कस्टम
आपने सीखा है कि एक विशिष्ट तिथि और समय पर क्रोन नौकरियों और शेड्यूल कार्यों को कैसे बनाया जाए। यदि आपके कोई प्रश्न हैं, तो टिप्पणी छोड़ने के लिए स्वतंत्र महसूस करें।
* * * * * command(s)
* * * * * command(s)
पूर्वनिर्धारित मैक्रों
@yearly
(या
@annually
) - 1 जनवरी की मध्यरात्रि (12:00
@annually
) पर वर्ष में एक बार निर्दिष्ट कार्य को चलाएं।
0 0 1 1 *
बराबर।
@monthly
महीने - महीने के पहले दिन मध्यरात्रि में महीने में एक बार निर्दिष्ट कार्य को चलाएं।
0 0 1 * *
बराबर।
@weekly
- रविवार को मध्यरात्रि में सप्ताह में एक बार निर्दिष्ट कार्य चलाएँ।
0 0 * * 0
बराबर।
@daily
- मध्यरात्रि में दिन में एक बार निर्दिष्ट कार्य चलाएँ।
0 0 * * *
बराबर।
@hourly
- घंटे की शुरुआत में एक बार निर्दिष्ट कार्य को चलाएं।
0 * * * *
बराबर।
@reboot
- सिस्टम स्टार्टअप (बूट-टाइम) में निर्दिष्ट कार्य चलाएँ।लिनक्स Crontab कमांड
crontab -e
- crontab फ़ाइल संपादित करें, या यदि यह पहले से मौजूद नहीं है, तो एक बनाएं।
crontab -l
- crontab फ़ाइल सामग्री प्रदर्शित करें।
crontab -r
- अपनी वर्तमान crontab फ़ाइल निकालें।
crontab -i
- हटाने से पहले एक प्रॉम्प्ट के साथ अपनी वर्तमान crontab फ़ाइल निकालें।
crontab -u
EDITOR
पर्यावरण चर द्वारा निर्दिष्ट संपादक का उपयोग करके crontab फ़ाइल को खोलता है।Crontab चर
PATH=/usr/bin:/bin
। यदि आप जिस कमांड को कॉल कर रहे हैं वह क्रोन निर्दिष्ट पथ में मौजूद है, तो आप कमांड के लिए निरपेक्ष पथ का उपयोग कर सकते हैं या क्रोन
$PATH
चर को बदल सकते हैं। आप स्पष्ट रूप से संलग्न नहीं कर सकते
:$PATH
जैसा कि आप एक नियमित स्क्रिप्ट के साथ करेंगे। डिफ़ॉल्ट शेल
/bin/sh
सेट है। आप
SHELL
वैरिएबल को बदलकर एक अलग शेल सेट कर सकते हैं। क्रोन यूजर के होम डायरेक्टरी से कमांड को इनवाइट करता है।
HOME
चर को crontab में सेटिंग्स द्वारा ओवरराइड किया जा सकता है। ईमेल सूचना crontab के मालिक को भेजी जाती है। डिफ़ॉल्ट व्यवहार को अधिलेखित करने के लिए, आप उन सभी ईमेल पतों की एक सूची (अल्पविराम से अलग) के साथ
MAILTO
पर्यावरण चर का उपयोग कर सकते हैं,
MAILTO
आप ईमेल सूचनाएं प्राप्त करना चाहते हैं। यदि
MAILTO
परिभाषित है, लेकिन खाली (
MAILTO=""
), कोई मेल नहीं भेजा जाता है।Crontab प्रतिबंध
/etc/cron.deny
और
/etc/cron.allow
फ़ाइलों का उपयोग करके
crontab
कमांड तक पहुँच है। फ़ाइलों में उपयोगकर्ता नाम, प्रति पंक्ति एक उपयोगकर्ता नाम की एक सूची शामिल है।
/etc/cron.deny
फ़ाइल मौजूद है और खाली है, जिसका अर्थ है कि सभी उपयोगकर्ता crontab कमांड का उपयोग कर सकते हैं। यदि आप किसी विशिष्ट उपयोगकर्ता के लिए crontab कमांड तक पहुंच से इनकार करना चाहते हैं, तो इस फ़ाइल में उपयोगकर्ता नाम जोड़ें।
/etc/cron.allow
फ़ाइल केवल उन उपयोगकर्ताओं के लिए मौजूद है जो इस फ़ाइल में सूचीबद्ध हैं, तो
crontab
कमांड का उपयोग कर सकते हैं।
crontab
कमांड का उपयोग कर सकते हैं।क्रोन जॉब्स उदाहरण
0 15 * * 1-5 command
dev null
पुनर्निर्देशित करें, केवल मानक त्रुटि को निर्दिष्ट ई-मेल पते पर भेजा जाएगा:
[email protected] */5 * * * * /path/to/script.sh > /dev/null
&&
उपयोग करें):
0 15 * * Mon command1 && command2
*/2 * * * * /usr/bin/php /path/to/script.php >> /var/log/script.log
00 08-16 * * * /path/to/script.sh
0 7 1-7 * 1 /path/to/script.sh
15 9 1, 15 * * /path/to/script.sh
HOME
,
MAILTO
,
SHELL
और
MAILTO
चर सेट करें और हर मिनट एक कमांड चलाएं।
HOME=/opt PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin SHELL=/usr/bin/zsh [email protected] */1 * * * * command
निष्कर्ष
यूएस ब्रॉडबैंड इंटरनेट सैटेलाइट 2011 में लॉन्च करने के लिए अनुसूचित

एक कैलिफ़ोर्निया सैटेलाइट टेक्नोलॉजी प्रदाता ने एक योजनाबद्ध ब्रॉडबैंड इंटरनेट उपग्रह को ऊपर की कक्षा में रखने के लिए एक समझौते पर हस्ताक्षर किए हैं ...
विस्टा के अनुसूचित डिस्क-डिफ्रैगमेंटिंग को अक्षम करें

विंडोज़ डिस्क डिफ्रैगमेंटर को विलुप्त होने से रोकना चाहते हैं? यहां अपने निर्धारित प्रदर्शनों को समाप्त करने का तरीका बताया गया है।
पीसी कार्य अनुकूलक के साथ विंडोज अनुसूचित कार्य प्रबंधित करें

पीसी कार्य अनुकूलक एक नि: शुल्क कार्य प्रबंधन सॉफ्टवेयर है जो विंडोज उपयोगकर्ताओं को उनके मूल अनुसूचित प्रबंधन का प्रबंधन करने देता है एक बटन के क्लिक के साथ कार्य,