Linuxのcron RELOADタイミング
Linuxのcron(Vixie Cron)のRELOADタイミングは1分ごとのようだ。
なので、例えば急いで次の分(1分以内)で起動する設定を行うと、RELOADだけ行い、設定したコマンドが起動されなかった(ちょっと古めの某ディストリビューション)。
$ date 2014年 3月 2日 日曜日 10:54:35 JST $ date 2014年 3月 2日 日曜日 10:55:33 JST $ crontab -e crontab: installing new crontab $ crontab -l 56 10 * * * echo "test" >/dev/null 2>&1 $ date 2014年 3月 2日 日曜日 10:55:44 JST $ この状態でログを見ていたところ、10時56分には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としてログる。