हम सात घातक पापों की सूची के लिए एक गाइड के रूप में उपयोग किए जाने वाले लिनक्स के लिए सॉफ्टवेयर और उपकरणों की एक सूची बना रहे हैं। पिछले लेखों की तरह, हम आलस्य का उपयोग बहाने के रूप में करते हैं लिनक्स में ऑटोमेशन टूल्स के बारे में बात करें। उनमें से एक एनाक्रोन में। इस लेख में हम देखेंगे कि एनाक्रॉन्टैब का विन्यास कैसा है। anacrontab वह है जो anacron को बताता है कि क्या करना है और कब करना है।
एनाक्रॉन में कार्यों की तिथि दिनों में तय की जाती है और, यदि किसी कार्य को करने के समय कंप्यूटर नहीं चल रहा है, तो यह प्रारंभ होने पर प्रारंभ होता है।
एनाक्रोंटैब विन्यास
प्रारंभ में एनाक्रॉन निर्देशिका में निष्पादित करने के लिए कार्यों की सूची की तलाश करता है /etc/anacrontab
. असाइनमेंट निम्नलिखित प्रारूप में लिखे जाने चाहिए:
período retraso identificador del trabajo comando donde:
- अवधि: आवृत्ति जिसके साथ कार्य किया जाना चाहिए। इसे दिनों (अंग्रेजी में इसका संक्षिप्त नाम) अवधि ( @दैनिक, @ साप्ताहिक, या @ दिन, सप्ताह या महीने के लिए मासिक) या संख्याओं के साथ (दिन के लिए 1, सप्ताह के लिए 7, 30 महीने के लिए और किसी भी संख्या के साथ व्यक्त किया जा सकता है। दिनों की मनमानी अवधि।
- देरी: काम शुरू करने से पहले प्रतीक्षा करने का समय। उदाहरण के लिए 360 सुबह 6 बजे किसी कार्य को अंजाम देना।
- नौकरी पहचानकर्ता: त्रुटि और परिणाम रिपोर्ट में इसे दूसरों से अलग करने के लिए कार्य को सौंपा गया नाम
- आदेश: यह निर्देश है कि एनाक्रॉन को निर्दिष्ट समय पर निष्पादित करना चाहिए।
.
चूँकि हमारा इरादा उन कार्यों के लिए एनाक्रॉन का उपयोग करना है जिनका सिस्टम प्रशासन से कोई लेना-देना नहीं है, हम अपने स्थानीय उपयोगकर्ता फ़ोल्डर में क्रॉन द्वारा उपयोग की जाने वाली निर्देशिकाओं को दोहराने जा रहे हैं। हम इसके साथ करते हैं
mkdir -p ~/.local/etc/anacrontab: ~/.local/etc/cron.daily ~/.local/etc/cron.weekly ~/.local/etc/cron.daily ~/.var/spool/anacron
इससे हम अलग-अलग दैनिक, साप्ताहिक और मासिक लिपियों को सहेजने के लिए निर्देशिकाएँ बनाते हैं, साथ ही वह स्थान जहाँ एनाक्रोन के अंतिम निष्पादन की रिपोर्ट सहेजी जाएगी।
अंत में, हम एनाक्रॉन को सिस्टम वाले के बजाय हमारे स्थानीय उपयोगकर्ता फ़ोल्डर का उपयोग करने के लिए कहते हैं।
anacron -fn -t ~/.local/etc/anacrontab -S ~/.var/spool/anacron
अब हम एक कॉन्फ़िगरेशन फ़ाइल को संपादित करने जा रहे हैं। हम इसे टर्मिनल से करते हैं:
nano ~/.local/etc/anacrontab:
खुलने वाले दस्तावेज़ में हम इन पंक्तियों को जोड़ते हैं:
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
ये पंक्तियाँ उन्हीं कार्यों को पूरा करती हैं जिन्हें हमने पहले ही क्रोंटैब के लिए समझाया था। इंगित करें कि आपको बैश का उपयोग कमांड दुभाषिया के रूप में करना चाहिए और किस निर्देशिका में निष्पादन योग्य ढूंढना है। हम दस्तावेज़ को सहेजते हैं मई + 0 और हम इसे बंद करते हैं शिफ्ट + एक्स।
हमारे द्वारा बनाए गए क्रोन फ़ोल्डर्स का नाम और स्थान एक मनमाना विकल्प है. मैंने डिफ़ॉल्ट वाले को रखना चुना है ताकि उन पाठकों को भ्रमित न किया जा सके जिन्हें अन्य स्रोतों से अतिरिक्त जानकारी की आवश्यकता होती है। जब तक स्क्रिप्ट का पथ acrontab में इंगित किया जाता है, तब तक आप पसंदीदा फ़ोल्डर और संग्रहण पथ का उपयोग कर सकते हैं। वही नौकरी पहचानकर्ता के लिए जाता है।
दो अन्य चर हैं जिन्हें हम कॉन्फ़िगर कर सकते हैं:
- START_HOURS_RANGE
- RANDOM_DELAY
: वह समय सीमा सेट करता है जिसमें कार्य प्रारंभ होंगे (अर्थात केवल अगले घंटों के दौरान कार्य चलाएं)।
: यह किसी कार्य के उपयोगकर्ता-परिभाषित विलंब में जोड़े गए अधिकतम यादृच्छिक विलंब को परिभाषित करता है (डिफ़ॉल्ट 45 है)।
क्रोन और एनाक्रोन में क्या अंतर है?
क्रोन वह है जो सिस्टम और डेरिवेटिव में जाना जाता है a डेमॉन वह है, एक प्रोग्राम जो पृष्ठभूमि में और उपयोगकर्ता के हस्तक्षेप के बिना चलता है. यह सर्वरों के लिए अभिप्रेत है, यानी ऐसे उपकरण जो किसी पर ध्यान दिए बिना लगभग स्थायी रूप से काम करते हैं, लेकिन लगातार रखरखाव कार्यों की आवश्यकता होती है।
एनाक्रॉन एक सामान्य कार्यक्रम है डेस्कटॉप के लिए अधिक उपयुक्त वे लगातार चालू नहीं हैं। इसलिए, क्रोन के विपरीत, जहां समय की सबसे छोटी इकाई मिनट है, यह एक दिन की न्यूनतम आवृत्ति के साथ काम करता है।
इसी कारण से, कंप्यूटर चालू नहीं होने की स्थिति में क्रॉन में विकल्प शामिल नहीं होते हैं।या जबकि एनाक्रॉन लॉगिन पर लंबित कार्यों से गुजरता है। जब यह पता चलता है कि कोई कार्य निर्धारित समय पर शुरू नहीं हुआ है, तो यह विलंब क्षेत्र में निर्दिष्ट मिनटों की संख्या की प्रतीक्षा करने के बाद कमांड फ़ील्ड में निर्दिष्ट कमांड को निष्पादित करेगा। इसके बाद यह दिनांक को टाइमस्टैम्प फ़ाइल में लॉग करेगा।