कैसे परिवर्तित करने के लिए समय cron.daily लिनक्स में चलाया जाता है


22

मेरे पास cron.daily में एक स्क्रिप्ट है जो हर सुबह एक निश्चित समय पर चलती है। मुझे समय की जरूरत है कि इसे चलाया जाए।

मैं समय को कैसे बदलूं cron.daily स्क्रिप्ट चलाता है?

linux  cron  redhat 

जवाबों:


24

Red Hat 5 या पुराने पर, इसे नियंत्रित किया जाता है /etc/crontab

नए संस्करणों का उपयोग करें /etc/anacrontab। डिफ़ॉल्ट रूप से, cron.dailyस्क्रिप्ट 4:02 पर चलाए जाते हैं। संपादन /etc/crontabउस समय को संशोधित करेगा।

# run-parts
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

डेबियन / उबंटू सिस्टम पर, इसे भी नियंत्रित किया /etc/crontabजाता है।

उदाहरण के लिए; एक डिफ़ॉल्ट Ubuntu 12.04 स्थापना:

# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# m h dom mon dow user  command
17 *    * * *   root    cd / && run-parts --report /etc/cron.hourly
25 6    * * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6    * * 7   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6    1 * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
#

और या तो मामले में, आप यहाँ क्या वाक्यविन्यास का उपयोग करने के बारे में अधिक जानकारी पा सकते हैं: http://linux.die.net/man/5/crontab या man 5 crontabलगभग किसी भी लिनक्स सिस्टम पर चलकर।


3
sudo systemctl restart cron.serviceइसे संशोधित करने के बाद प्रदर्शन करना न भूलें । यह systemdआधुनिक डेबियन और उबंटू जैसे-आधारित सिस्टम के लिए सही है ।
ट्रांसलूसेंटक्लाउड

3

आरएचईएल / सेंटोस 6 और इसके बाद के संस्करण में

# /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

इसलिए, इस सवाल का जवाब देने के लिए कि यह किस समय चलता है, मुझे START_HOURS_RANGE संपादित करने की आवश्यकता है, सही?
thelr

1

खुले तौर पर, Crontab इस तरह दिखता है:

SHELL=/bin/sh
PATH=/usr/bin:/usr/sbin:/sbin:/bin:/usr/lib/news/bin
MAILTO=root
#
# check scripts in cron.hourly, cron.daily, cron.weekly, and cron.monthly
#
-*/15 * * * *   root  test -x /usr/lib/cron/run-crons && /usr/lib/cron/run-crons >/dev/null 2>&1

run-cronsआदेश में फ़ाइलों के timestamps की पुष्टि करता है /var/spool/cron/lastrunअन्य बातों के अलावा। जब अंतिम निष्पादन के बाद का समय समाप्त हो जाता है, तो यह फिर से क्रोन फ़ाइल चलाएगा।

फ़ाइल को छूकर समय को प्रभावित किया जा सकता है। उदाहरण के लिए, इसे 2012-11-17 03:15 पर सेट करने के लिए:

touch -t 201211140315 /var/spool/cron/lastrun/cron.daily

0

अगर लाइन नहीं थी, तो इससे कुछ हल नहीं होगा।

Cron.daily उल्लेख किया है, जहां खोजने की कोशिश करें

grep -R cron.daily /etc

फिर वहां से ले जाएं।


यदि आप इन आदेशों का उपयोग करते हैं तो आपको बहुत सावधानी से रहना होगा। मेरे रेडहैट के उदाहरण के लिए यह / etc / crontab और / etc / anacrontab फाइल देता है। और अगर आप cron.daily प्रविष्टि के साथ लाइनों को हटाते हैं, तो आप बस सभी लिपियों के निष्पादन को बंद कर देते हैं, जिसे दैनिक रूप से चलाया जाना चाहिए (मेरे लिए यह लॉगरोट, टैम्पॉच, कप और इसी तरह) है।
लुकाज़ स्टेल्मैच

2
मैंने लाइन को हटाने का सुझाव नहीं दिया, सवाल यह था कि cron.daily समय को कैसे संशोधित किया जाए। यह है कि आप इसे कैसे

-1

आप दो काम करना चाहते हैं:

  1. Cron.daily से स्क्रिप्ट निकालें और कहीं और डाल दें।
  2. निर्दिष्ट समय पर निर्दिष्ट स्क्रिप्ट चलाने के लिए अपने crontab में एक प्रविष्टि जोड़ें:

00 10 * * * /path/to/script

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.