web-dev-qa-db-ja.com

「cron.daily」はいつ実行されますか?

cron.daily(および.weeklyおよび.hourly)のエントリはいつ実行され、構成可能ですか?

私はこれに対する決定的な答えを見つけていません、そしてそれがあることを望んでいます。

私はRHEL5とCentOS 4を実行していますが、他のディストリビューション/プラットフォームの場合も同様です。

209
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 amに実行されます。

CentOS 4.8でも同じ

156

Manページから:

 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もご覧ください

79
leonbloy

CentOS 6の場合、/ etc/anacrontabをgrepする必要があります。server/ laptop/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

したがって、午前3時から午後10時**(再起動後、マシンが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

44
Spechal

SuSEシステム(特にSLES 11.1およびopenSuSE 10.3)の場合、/ etc/cron.dailyスクリプトの毎日の実行時間は、DAILY_TIMEの値によって制御されます/ etc/sysconfig/cronファイルで設定された変数。

DAILY_TIME変数が設定されていない場合、デフォルトは次のとおりです(最終起動時刻+ 15分)。

14
darklion

Ubuntuでは、/ etc/crontabというファイルがあり、このファイルから構成されています。それはRHとCentosで似ていると思います。

9
Sven

CentOS6.x/RedHat6.xは、デフォルトでパッケージcronie-anacronをインストールします。必ず:

yum install cronie-noanacron

yum消去cronie-anacron

次に、/ etc/cron.d/dailyjobsを使用して、毎日、毎週、毎月のジョブに最適なスケジュール時間を構成します。

5
Daniel Santos

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
paddy

/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

Solarisに関する限り、そのような機能はありません。日常のタスクには通常のcrontabエントリを使用してください。

2
jlliagre

OpenSuse 42.xアップデート:

/ etc/crontabは、15分ごとに実行されることになっているファイル/ usr/lib/cron/run-cronsを示します。

次に、/ usr/lib/cron/run-crons(コードの行が含まれる場合があります)は、/ etc/sysconfig/cronでDAILY_TIMEと呼ばれる変数を探します。

ファイルは示しています。

# At which time cron.daily should start. Default is 15 minutes after booting
# the system. Example setting would be "14:00".
# Due to the fact that cron script runs only every 15 minutes,
# it will only run on xx:00, xx:15, xx:30, xx:45, not at the accurate time
# you set.

DAILY_TIME=""

必要な時間に設定し、cronを再起動してください。

systemctl restart cron.service
1
MarcoZen