सवाल `Cron.daily` कब चलता है?


प्रविष्टियां कब करते हैं cron.daily (तथा .weekly तथा .hourly) चलाओ, और यह विन्यास योग्य है?

मुझे इसका एक निश्चित जवाब नहीं मिला है, और मुझे उम्मीद है कि एक है।

मैं आरएचईएल 5 और सेंटोस 4 चला रहा हूं, लेकिन अन्य distros / प्लेटफॉर्म के लिए भी बहुत अच्छा होगा।


178
2018-04-26 15:31


मूल


पर NetBSD, दैनिक, साप्ताहिक, मासिक cronjobs के लिए समय रूट के crontab में सेट कर रहे हैं। - hd1
यदि प्रश्न अधिक सामान्य होने के लिए संपादित किया गया था तो यह प्रश्न अधिक उपयोगी होगा। कम से कम प्रश्न 4 और 5 के बजाय रेडहाट के किसी भी संस्करण के लिए सामान्य जेनेरिक बनाते हैं, जो व्यापक रूप से उपयोग नहीं किए जाते हैं और "उत्पादन का अंत" (के समान जीवन का अंत)। - Trevor Boyd Smith
@TrevorBoydmith - लगभग 8 साल पहले इस सवाल से पूछा गया था। नए संस्करणों के लिए अद्यतन एक पूछने के लिए स्वतंत्र महसूस करें। लेकिन आरएचईएल 6 अस्तित्व में भी नहीं था अप्रैल 2010 में: access.redhat.com/articles/3078#RHEL6 - warren
@warren मेरा इरादा आलोचना नहीं करना है, लेकिन सामान्य रूप से प्रश्न और स्टैक ओवरफ्लो में सुधार करें। (मैं समझता हूं कि प्रश्न पूछे जाने पर आरएचईएल 6 मौजूद नहीं था। क्योंकि सवाल में अब बहुत सारे अपवॉट हैं, यह अधिक सामान्य होना अच्छा लगेगा।) - Trevor Boyd Smith
@TrevorBoydSmith .. CentOS / RHEL 6 के लिए पहले से ही एक जवाब है :) ... यदि आपके पास कुछ विचार हैं तो मुझे आपके द्वारा अच्छे संपादन को स्वीकार करने में खुशी होगी। आगे बढ़ें और उस प्रश्न के लिए सुझाए गए संपादन करें जिन्हें आपने सोचा है - warren


जवाब:


आपके द्वारा उल्लेख किए गए वितरण के लिए:

CentOS 5.4 पर (RHEL5 के लिए समान होना चाहिए)

grep run-parts /etc/crontab

01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly

तो cron.daily 04:02 बजे चलता है।

CentOS 4.8 पर ही


136
2018-04-26 16:23



क्या इसके पीछे कोई कारण है? मैं केवल यह मान सकता हूं कि यह सर्वर पर सबसे शांत समय होगा। - The Pixel Developer
@ उबंटू में यह कितना समय चलता है? क्या आप कृपया बता सकते हैं कि मैं इसे कैसे देख सकता हूं? मैं कमांड आउटपुट को समझने में सक्षम नहीं हूं - Narendra Jaggi
@NarendraJaggi "रन-पार्ट्स" कमांड का अर्थ है "इस फ़ोल्डर में सबकुछ चलाएं"। Cron.daily, आदि फ़ोल्डर्स काम करते हैं क्योंकि इन निर्देशिकाओं पर रन-पार्ट्स निष्पादित करने के लिए क्रॉन नौकरी होती है। इसलिए grep run-parts /etc/crontab इन निर्देशों में से प्रत्येक के लिए रन-पार्ट्स कहलाते समय केवल निर्देश मिलते हैं। - Jordan Reiter
यह CentOS 6 या उच्चतम के लिए अब मान्य उत्तर नहीं है, और अधिक के लिए नीचे स्क्रॉल करें। - lzap


आदमी पृष्ठ से:

 Cron also searches for /etc/anacrontab

/etc/anacrontab मेरे सिस्टम में (फेडोरा 12):

1       5       cron.daily              nice run-parts /etc/cron.daily
7       25      cron.weekly             nice run-parts /etc/cron.weekly
@monthly 45     cron.monthly            nice run-parts /etc/cron.monthly

यह भी देखें man anacrontab


63
2018-04-26 15:35



यह मामला है CentOS 6। धन्यवाद। - mbrownnyc
इसका मतलब है कि प्रत्येक "1" दिन 5 बजे? क्षमा करें, लेकिन यह कुछ भी जवाब नहीं देता है। - elysch
@elysch मुझे अपने उत्तर की आखिरी पंक्ति दोहराएं: यह भी देखें "आदमी anacrontab" - leonbloy
Anacron की अच्छी व्याख्या यहाँ। मूल रूप से, anacron है कोई निश्चित प्रारंभ समय नहीं, लेकिन निर्दिष्ट प्रक्रिया के साथ आखिरी प्रक्रिया कब चलती है, इस पर प्रक्रिया शुरू होगी। यदि प्रक्रिया के दौरान मशीन बंद है भाग गया होगा, तब यह प्रक्रिया शुरू हो जाएगी जब मशीन वापस आती है, निर्दिष्ट विलंब के बाद (कोई विशेष श्रेणी नहीं है + यादृच्छिक देरी, @ स्पीचल द्वारा उत्तर देखें)। - storm_m2138
@mbrownnyc और CentOS-7 भी - Trevor Boyd Smith


CentOS 6 के लिए, आपको grep / etc / anacrontab की आवश्यकता है और उत्तर बदलता है यदि सर्वर / लैपटॉप / डेकस्टॉप / आदि बंद कर दिया गया है या नहीं।

cat /etc/anacrontab 
# /etc/anacrontab: configuration file for anacron

# See anacron(8) and anacrontab(5) for details.

SHELL=/bin/sh
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
# the maximal random delay added to the base delay of the jobs
RANDOM_DELAY=45
# the jobs will be started during the following hours only
START_HOURS_RANGE=3-22

#period in days   delay in minutes   job-identifier   command
1   5   cron.daily      nice run-parts /etc/cron.daily
7   25  cron.weekly     nice run-parts /etc/cron.weekly
@monthly 45 cron.monthly        nice run-parts /etc/cron.monthly

तो, 3AM और 10 PM** के घंटों के बीच (रीबूट के बाद और मशीन के बाद 5 मिनट ^^ के लिए किया गया है), run /etc/cron.daily चलाएं। अगर कोई रीबूट नहीं है, तो नौकरी 3:05 पूर्वाह्न ++ पर चलनी चाहिए।

** As defined by START_HOURS_RANGE
^^ As defined by FIELD_TWO (i.e. the 5 after the 1 in the cron.daily line)
++ plus a random time between 0 and 45 minutes as defined by RANDOM_DELAY

संदर्भ: http://linux.die.net/man/5/anacrontab


38
2017-10-29 21:20





SuSE सिस्टम (विशेष रूप से SLES 11.1 और openSuSE 10.3) के लिए /etc/cron.daily स्क्रिप्ट का दैनिक रन टाइम नियंत्रित होता है DAILY_TIME में परिवर्तनीय सेट / Etc / sysconfig / क्रॉन फ़ाइल।

यदि DAILY_TIME चर सेट नहीं है, तो यह डिफ़ॉल्ट है: (अंतिम बूट + 15 मिनट का समय)।


13
2017-08-16 03:18



बहुत धन्यवाद! एसयूएसई मेरे लिए अपारदर्शी है और मैं आपके उत्तर की सराहना करता हूं। - dr0i


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


9
2018-04-26 15:33



उबंटू ल्यूसिड 10.04 एलटीएस के लिए यह सही फाइल है। Cron.daily के लिए मेरी डिफ़ॉल्ट सेटिंग 6:25 बजे है। - geekQ
अभी भी उबंटू 15.04 पर 6:25 बजे के रूप में सेट करें। लेकिन मुझे लगता है कि जब यह नौकरियां शुरू करता है तो क्रॉन को कुछ यादृच्छिकता डालना चाहिए। मेरी दैनिक नौकरी बनाने वाली फ़ाइलों के टाइमस्टैम्प को देखते हुए, मैं कुछ दिनों में देखता हूं कि यह 6:26 के रूप में चलता है, और दूसरों को 8:04 बजे तक चलता है। - Stéphane
अभी भी उबंटू 16.04 पर 6:25 बजे सेट करें - प्रति घंटे 17 मिनट प्रति घंटा। सुबह 6:25 बजे दैनिक। शनिवार को 6:47 बजे साप्ताहिक। महीने के पहले दिन 6:52 बजे मासिक। - WinEunuuchs2Unix


CentOS6.x / RedHat6.x डिफ़ॉल्ट रूप से पैकेज cronie-anacron द्वारा स्थापित करता है। आपको करना होगा:

yum cronie-noanacron स्थापित करें

yum erase cronie-anacron मिटा दें

फिर आपके पास अपने दैनिक, साप्ताहिक और मासिक नौकरियों के लिए सर्वोत्तम शेड्यूल समय कॉन्फ़िगर करने के लिए /etc/cron.d/dailyjobs हैं।


4
2017-08-29 19:50



अगर एनाक्रोन स्थापित है, तो क्या आप इसे अनइंस्टॉल करने के बजाय यहां अन्य टिप्पणियों के अनुसार / etc / anacrontab संपादित नहीं कर सकते? - cincodenada
@cincodenada यह नहीं है कि डैनियल स्टैंटोस क्या सुझाव दे रहा है। - mikemaccana


मैं स्लेकवेयर (14.0) का उपयोग करता हूं, और नहीं था /etc/crontab। इसके अलावा, anacron वितरण का हिस्सा नहीं है।

मेरे सिस्टम पर समाधान चलने जितना आसान था crontab -l रूट के रूप में:

root@flea:~# crontab -l
# If you don't want the output of a cron job mailed to you, you have to direct
# any output to /dev/null.  We'll do this here since these jobs should run
# properly on a newly installed system.  If a script fails, run-parts will
# mail a notice to root.
#
# Run the hourly, daily, weekly, and monthly cron jobs.
# Jobs that need different timing may be entered into the crontab as before,
# but most really don't need greater granularity than this.  If the exact
# times of the hourly, daily, weekly, and monthly cron jobs do not suit your
# needs, feel free to adjust them.
#
# Run hourly cron jobs at 47 minutes after the hour:
47 * * * * /usr/bin/run-parts /etc/cron.hourly 1> /dev/null
#
# Run daily cron jobs at 4:40 every day:
40 4 * * * /usr/bin/run-parts /etc/cron.daily 1> /dev/null
#
# Run weekly cron jobs at 4:30 on the first day of the week:
30 4 * * 0 /usr/bin/run-parts /etc/cron.weekly 1> /dev/null
#
# Run monthly cron jobs at 4:20 on the first day of the month:
20 4 1 * * /usr/bin/run-parts /etc/cron.monthly 1> /dev/null

4
2018-03-12 21:50