Вопрос: Когда запускается `cron.daily`?


Когда делаются записи в cron.daily (а также .weekly а также .hourly) запустить, и он настраивается?

Я не нашел окончательного ответа на этот вопрос, и надеюсь, что он есть.

Я запускаю RHEL5 и CentOS 4, но для других дистрибутивов / платформ тоже будет отлично.


174
2018-04-26 15:31


Источник


На NetBSD, времена для ежедневных, еженедельных, ежемесячных cronjobs устанавливаются в корневом корне. - hd1
Этот вопрос был бы более полезен, если бы вопрос был отредактирован как более общий. По крайней мере, сделайте вопрос общим для любых версий redhat, centos distros, а не только для версий 4 и 5 (которые не широко используются и являются "конец производства" (похожий на конец жизни). - Trevor Boyd Smith
@TrevorBoydSmith - этот вопрос задавали почти 8 лет назад. Не стесняйтесь задавать один обновленный вариант для более новых версий. Но RHEL 6 даже не существовало в апреле 2010 года: access.redhat.com/articles/3078#RHEL6 - warren
@warren мое намерение не критиковать, а просто улучшить вопрос и stackoverflow в целом. (я понимаю, что RHEL 6 не существовало, когда вопрос был задан, потому что вопрос имеет soo many upvotes, теперь было бы неплохо иметь его более общий.) - 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


133
2018-04-26 16:23



Есть ли причина в этом? Я могу только предположить, что это будет самое спокойное время на сервере. - The Pixel Developer
@ в какое время он работает в ubuntu? не могли бы вы рассказать, как я могу это проверить? я не могу понять вывод команды - Narendra Jaggi
@NarendraJaggi команда «run-parts» означает «запустить все в этой папке». Папки cron.daily и т. Д. Работают потому, что есть задание cron для выполнения частей выполнения в этих каталогах. Так grep run-parts /etc/crontab просто находит инструкции, когда вызываемые части вызываются для каждого из этих каталогов. - Jordan Reiter
Это более недействительный ответ для CentOS 6 или выше, прокрутите вниз для большего. - lzap


На странице руководства:

 Cron also searches for /etc/anacrontab

/etc/anacrontab в моей системе (Fedora 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


62
2018-04-26 15:35



Это имеет место в случае CentOS 6, Благодарю. - mbrownnyc
Это означает 5 утра каждые «1» дней ?. Извините, но это ничего не отвечает. - elysch
@elysch Позвольте мне повторить последнюю строку моего ответа: см. также «man anacrontab» - leonbloy
Хорошее объяснение анакрона Вот, В основном, Anacron имеет нет фиксированного времени начала, а скорее начнет процесс, основанный на том, когда был запущен последний процесс, с указанной задержкой. Если устройство выключено, когда процесс должен был бежать, то он начнет процесс, когда машина вернется после указанной задержки (запрет специальных диапазонов + случайная задержка, см. ответ by @spechal). - storm_m2138
@mbrownnyc, а также CentOS-7 тоже - Trevor Boyd Smith


Для CentOS 6 вам нужно выполнить grep / etc / anacrontab, и ответ будет изменяться, если сервер / ноутбук / dekstop / etc отключен или нет.

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 минут ^^), запустите /etc/cron.daily. Если перезагрузка не выполняется, работа должна выполняться в 3:05 AM++.

** 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


37
2017-10-29 21:20





Для систем SuSE (в частности, SLES 11.1 и openSuSE 10.3) ежедневное время выполнения сценариев /etc/cron.daily контролируется значением DAILY_TIME переменная, установленная в / И т.д. / sysconfig / хрон файл.

Если переменная DAILY_TIME не установлена, она по умолчанию: (время последней загрузки + 15 минут).


12
2017-08-16 03:18



большое спасибо! SuSE довольно непрозрачен для меня, и я ценю ваш ответ. - dr0i


На Ubuntu вы найдете файл / etc / crontab, откуда он настроен. Я думаю, что это нечто похожее на RH и Centos.


9
2018-04-26 15:33



Это правильный файл для Ubuntu Lucid 10.04 LTS. Моя настройка по умолчанию - 6:25 утра для cron.daily. - geekQ
Все еще установлено как 6:25 на Ubuntu 15.04. Но я замечаю, что cron должен вставить некоторую случайность во время запуска заданий. Глядя на временные метки файлов, которые создает моя ежедневная работа, я вижу, что в некоторые дни она работает уже в 6:26, а в других - до 8:04. - Stéphane
Еще в 6:25 утра на Ubuntu 16.04 - Почасовой в 17 минут в час. Ежедневно в 6:25. Еженедельно в 6:47 субботу. Ежемесячно в 6:52 утра в первый день месяца. - WinEunuuchs2Unix


CentOS6.x / RedHat6.x устанавливает по умолчанию пакет cronie-anacron. Вы должны:

yum install cronie-noanacron

yum erase cronie-anacron

Затем у вас есть /etc/cron.d/dailyjobs, чтобы настроить лучшее время расписания для ежедневных, еженедельных и ежемесячных заданий.


4
2017-08-29 19:50



Если anacron установлен, вы не могли бы просто отредактировать / etc / anacrontab в соответствии с другими комментариями здесь, а не удалять его? - cincodenada
@cincodenada Это не то, что предлагает Даниэль Стантос. - mikemaccana


Я использую Slackware (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





Из /etc/anacrontab на моей системе Ubuntu 9.10:

1       5       cron.daily       nice run-parts --report /etc/cron.daily
7       10      cron.weekly      nice run-parts --report /etc/cron.weekly
@monthly        15      cron.monthly nice run-parts --report /etc/cron.monthly

3
2018-04-26 15:54