सवाल क्रॉन्टाब का उपयोग करके जॉब शेड्यूलिंग, उस समय कंप्यूटर बंद होने पर क्या होगा?


मैं crontab का उपयोग कर कुछ कार्यों को निर्धारित करता हूं।

क्या होगा यदि क्रॉन को कुछ करने के लिए निर्धारित किया गया था, तो मेरा कंप्यूटर बंद या बंद हो गया था?

क्या कंप्यूटर चालू होने के बाद प्रत्येक क्रॉन जॉब रन को याद करता है, या उस दिन के लिए नौकरियों को याद किया जाता है? यदि मिस्ड नौकरियां फिर से शुरू नहीं होती हैं, तो क्रॉन को कॉन्फ़िगर करने का कोई तरीका है जैसे कि कंप्यूटर चालू होने के बाद यह मिस्ड कार्यों को चलाता है?


73
2017-08-10 16:22


मूल


मैंने वेब में एनाक्रोन ट्यूटोरियल की तलाश करने की कोशिश की लेकिन किसी भी अच्छे को नहीं मिला। मैन पेजों में देखकर भी मुझे बहुत मदद नहीं मिली। मैं पहले से ही मौजूदा crontab कैसे बदल सकता हूं ताकि यह anacron में बदल गया है ?? या इसमें कोई भी ट्यूटोरियल बहुत उपयोगी होगा - seg.server.fault
मैंने कुछ उदाहरणों को शामिल करने के लिए अपना जवाब संपादित कर लिया है। मुझे आशा है कि वह मदद करेंगे! - jeff


जवाब:


जब आपका कंप्यूटर बंद हो जाता है (या क्रॉन डिमन अन्यथा नहीं चल रहा है), क्रॉन नौकरियां शुरू नहीं की जाएंगी।

यदि आपके पास ऐसी नौकरियां हैं जिन्हें आप उस समय के दौरान चलाना चाहते हैं जब कंप्यूटर बंद हो जाता है, तो एनाक्रोन का उपयोग करें। डिफ़ॉल्ट रूप से स्थापित, अधिक जानकारी के लिए "मैन एनाक्रोन", "मैन एनाक्रोंटैब", या फ़ाइल / आदि / एनाक्रॉन्टाब देखें।

उबंटू क्रॉन्टाब प्रविष्टियों के लिए डिफ़ॉल्ट रूप से एनाक्रॉन का उपयोग करता है:

/etc/cron.daily
/etc/cron.weekly
/etc/cron.monthly

शेष क्रोनैब को मुख्य क्रॉन डिमन द्वारा संभाला जा सकता है, विशेष रूप से:

/etc/crontab
/etc/cron.d
/var/spool/cron

टिप्पणियाँ

Anacron खुद को एक डेमॉन के रूप में नहीं चलाता है, लेकिन सिस्टम स्टार्टअप स्क्रिप्ट और क्रॉन खुद को चलाने के लिए निर्भर करता है।

उबंटू 8.04 बॉक्स पर मैं देख रहा हूं, /etc/init.d/anacron बूट पर चलाया जाता है, और फिर हर सुबह क्रॉन द्वारा सुबह 07:30 बजे चलाया जाता है।

/Usr/share/doc/anacron/README.gz पर README के ​​पास मैनपेज में निहित की तुलना में थोड़ा अधिक जानकारी है।

उदाहरण

सरल "दैनिक", "साप्ताहिक", "मासिक" नौकरियों के लिए, ऊपर /etc/cron.{daily|weekly|monthly} निर्देशिकाओं में से एक में लिपि में एक प्रतिलिपि या सिमलिंक डालें। Anacron इसे दैनिक / साप्ताहिक / मासिक चलाने की देखभाल करेगा, और यदि आपका कंप्यूटर दिन में बंद हो जाता है तो "साप्ताहिक" स्क्रिप्ट सामान्य रूप से चलती हैं, तो अगली बार कंप्यूटर चालू हो जाएगा।

एक और उदाहरण के रूप में, मान लें कि आपके पास यहां एक स्क्रिप्ट है: /usr/local/sbin/maint.sh

और आप इसे हर तीन दिनों में चलाने की इच्छा रखते हैं, / etc / crontab में मानक प्रविष्टि इस तरह दिखेगी:

# m h dom mon dow user  command
0 0 */3 * * root /usr/local/sbin/maint.sh

यदि आपका कंप्यूटर महीने के तीसरे दिन 00:00 बजे नहीं था, तो नौकरी 6 वें तक नहीं चली जाएगी।

नौकरी पाने के बजाय 4 वें स्थान पर चलते हैं जब कंप्यूटर बंद हो जाता है और तीसरे स्थान पर रन "मिस" होता है, तो आप इसे / etc / anacrontab में उपयोग करेंगे (/ etc / crontab से लाइन को हटाने के लिए मत भूलना):

# period delay job-identifier command
3 5 maint-job /usr/local/sbin/maint.sh

उपरोक्त "5" की "देरी" का अर्थ है कि यह नौकरी चलाने से पहले 5 मिनट तक एनाक्रॉन इंतजार करेगी। विचार है कि एनाक्रॉन को बूट समय पर तुरंत फायरिंग चीजों से रोकना है।


61
2017-08-10 16:26



डिफ़ॉल्ट रूप से उबंटू एनाक्रोन का उपयोग करता है। - 3dinfluence
धन्यवाद, 3dincluence - समायोजित उत्तर यह इंगित करने के लिए कि कौन से crontabs को anacron द्वारा डिफ़ॉल्ट ubuntu setip में संभाला जाता है। - jeff
यदि आप अपनी खुद की crontab प्रविष्टि के बजाय /etc/cron.*/ में स्क्रिप्ट डालते हैं, तो "।" लिपि के फ़ाइल नाम में। डेबियन और उबंटू इस तरह की स्क्रिप्ट चलाने के लिए रन-पार्ट्स का उपयोग करते हैं, और डिफ़ॉल्ट रूप से रन-पार्ट्स फाइलों को अनदेखा कर देंगे। फ़ाइल नाम में - ऐसा इसलिए है कि यह स्क्रिप्ट के .dpkg-old और .dpkg-dist संस्करणों को चलाया नहीं जाता है जिन्हें अपग्रेड से बदला जाता है। इसलिए "maintain.sh" की बजाय स्क्रिप्ट या सिमलिंक "रखरखाव" को कॉल करें। - cas
ओपनएसयूएसई डिफ़ॉल्ट रूप से क्रॉनी का उपयोग करता है 11.2 से आगे (टम्बलवेड / वर्तमान में लीप 42.2 तक)। काम में लाना anacron, स्थापित करें cronie-anacron पैकेज। - palswim


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


12
2017-08-10 16:27





कम्प्यूटर बंद होने पर निर्धारित कार्य तब नहीं चलेंगे जब कंप्यूटर पर वापस शक्तियां होती हैं


5
2017-08-10 16:26





यदि आप क्रॉन नौकरियां चलते समय बंद हो जाते हैं, तो सिस्टम बंद हो जाता है और क्रॉन जॉब्स रुक जाती है (या नहीं चलती)।

एक विकल्प जिसे आप जांच सकते हैं वह एनाक्रोन है।


2
2017-08-10 16:27





वास्तव में आपके द्वारा चल रहे क्रॉन डीमॉन पर निर्भर करता है। Vixie-cron बस cronjobs छोड़ देंगे जो याद किया गया था। fcron जितनी जल्दी हो सके मिस्ड क्रॉन चलाएंगे। आईआईआरसी यह vixie-cron पर भी आधारित है, इसलिए यदि आप यही चाहते हैं तो आप fcron को देखना चाहेंगे।


2
2017-08-10 16:35