読者です 読者をやめる 読者になる 読者になる

Linuxのcron RELOADタイミング

Linuxのcron(Vixie Cron)のRELOADタイミングは1分ごとのようだ。
なので、例えば急いで次の分(1分以内)で起動する設定を行うと、RELOADだけ行い、設定したコマンドが起動されなかった(ちょっと古めの某ディストリビューション)。

$ date
201432日 日曜日 10:54:35 JST
$ date
201432日 日曜日 10:55:33 JST
$ crontab -e
crontab: installing new crontab
$ crontab -l
56 10 * * * echo "test" >/dev/null 2>&1
$ date
201432日 日曜日 10:55:44 JST
$

この状態でログを見ていたところ、1056分にはRELOADだけ行い、echo "test"が起動しなかった。

ところが、CentOS 6.4ではRELOAD後、起動されている。以下がログ内容。

$ rpm -qa | grep cron
crontabs-1.10-33.el6.noarch
cronie-anacron-1.4.4-7.el6.x86_64
cronie-1.4.4-7.el6.x86_64
[kohchi@localhost sqlite]$ rpm -ql cronie
/etc/cron.d
/etc/cron.d/0hourly
/etc/cron.deny
/etc/pam.d/crond
/etc/rc.d/init.d/crond
/etc/sysconfig/crond
/usr/bin/crontab
/usr/sbin/crond
/usr/share/doc/cronie-1.4.4
/usr/share/doc/cronie-1.4.4/AUTHORS
/usr/share/doc/cronie-1.4.4/COPYING
/usr/share/doc/cronie-1.4.4/ChangeLog
/usr/share/doc/cronie-1.4.4/INSTALL
/usr/share/doc/cronie-1.4.4/README
/usr/share/man/man1/crontab.1.gz
/usr/share/man/man5/crontab.5.gz
/usr/share/man/man8/cron.8.gz
/usr/share/man/man8/crond.8.gz
/var/spool/cron
# su
パスワード:
# tail -f /var/log/cron
Mar  2 10:55:38 localhost crontab[29385]: (kohchi) BEGIN EDIT (kohchi)
Mar  2 10:55:41 localhost crontab[29385]: (kohchi) REPLACE (kohchi)
Mar  2 10:55:41 localhost crontab[29385]: (kohchi) END EDIT (kohchi)
Mar  2 10:55:43 localhost crontab[29388]: (kohchi) LIST (kohchi)
Mar  2 10:56:01 localhost crond[2467]: (kohchi) RELOAD (/var/spool/cron/kohchi)
Mar  2 10:56:01 localhost CROND[29396]: (kohchi) CMD (echo "test" >/dev/null 2>&1)

Vixie Cronのバージョンの違いなのか?急いで設定なんぞしなければいい話だがtipsとしてログる。