दोनों cron
और anacron
डेमन हैं जो उपयोगकर्ता द्वारा परिभाषित समय में आवर्ती कार्यों के निष्पादन को एक निश्चित बिंदु तक निर्धारित कर सकते हैं।
के बीच मुख्य अंतर cron
और anacron
पूर्व मानता है कि कि इस प्रणाली लगातार चल रही है। यदि आपका सिस्टम बंद है और आपके पास इस समय के दौरान कोई काम निर्धारित है, तो नौकरी कभी निष्पादित नहीं होती है।
दूसरी ओर anacron
ach एक्ट्रोनिस्टिक ’है और ऐसे सिस्टम के लिए बनाया गया है जो 24x7 नहीं चल रहे हैं। इसके लिए काम करने के anacron
लिए समय-मुहर लगी फ़ाइलों का उपयोग करके यह पता लगाने के लिए कि आखिरी बार इसकी आज्ञाओं को कब निष्पादित किया गया था। यह भी करता है /etc/anacrontab
जैसे एक फ़ाइल को बनाए रखता cron
है। इसके अलावा, cron.daily
हर दिन एनाक्रॉन चलाता है। इसलिए, anacron
दिन में केवल एक बार नौकरी चला सकते हैं, लेकिन cron
हर मिनट जितनी बार भी चला सकते हैं।
से man anacrontab
:
निष्पादित होने पर, एनाक्रॉन एक कॉन्फ़िगरेशन फ़ाइल से सामान्य रूप से / etc / anacrontab (देखें anacrontab (5)) नौकरियों की एक सूची पढ़ता है। इस फ़ाइल में उन नौकरियों की सूची है जो एनाक्रॉन नियंत्रित करती है। प्रत्येक नौकरी प्रविष्टि दिनों में एक अवधि, मिनटों में देरी, एक अद्वितीय नौकरी पहचानकर्ता और एक शेल कमांड निर्दिष्ट करती है।
प्रत्येक नौकरी के लिए, एनाक्रॉन यह जांचता है कि क्या यह नौकरी पिछले एन दिनों में निष्पादित की गई है, जहां n उस नौकरी के लिए निर्दिष्ट अवधि है। यदि नहीं, तो एनाक्रॉन देरी पैरामीटर के रूप में निर्दिष्ट मिनटों की संख्या की प्रतीक्षा करने के बाद, नौकरी के शेल कमांड को चलाता है।
कमांड से बाहर निकलने के बाद, एनाक्रॉन उस नौकरी के लिए एक विशेष टाइमस्टैम्प फ़ाइल में तारीख दर्ज करता है, इसलिए यह पता चल सकता है कि उसे फिर से कब निष्पादित करना है। समय की गणना के लिए केवल तारीख का उपयोग किया जाता है। घंटे का उपयोग नहीं किया जाता है।
इसका मतलब है, यदि किसी कार्य को प्रतिदिन चलाया जाना है और कंप्यूटर को उस समय के दौरान बंद कर दिया गया था, जब एनाक्रॉन चलाया जाता है, तो यह देख सकता है कि यह कार्य अंतिम बार 24 घंटे से अधिक चला था और कार्य को सही ढंग से निष्पादित किया गया था।
उदाहरण के लिए यदि आप निम्नलिखित को निर्दिष्ट करते हैं /etc/anacrontab
:
7 15 test.daily /bin/sh /home/username/script.sh
और जिस दिन script.sh
नौकरी को अंजाम देना है, अगर सिस्टम नहीं चल रहा है, तो सिस्टम के वापस आने anacron
के script.sh
15 मिनट बाद निष्पादित होगा ।
कुछ संदर्भ: