Cron作业多次执行夏令时

我们使用股票cronie.x86_64 1.4.4-7.el6运行CentOS版本6.2(最终版本)2.6.32-220.13.1.el6.x86_64。

在3月31日,我们搬到了夏季:03:00变成了04:00。

在crontab中我们有:

0 4 * * * /usr/bin/php /some_script.php 

在日志中,我们发现这个脚本被执行了12次:

 Mar 31 02:56:01 web CROND[1910]: (root) CMD (/etc/webmin/virtual-server/collectinfo.pl) Mar 31 04:00:01 web CROND[2492]: (root) CMD (/usr/lib64/sa/sa1 1 1) Mar 31 04:00:01 web CROND[2496]: (mailman) CMD (/usr/lib/mailman/cron/gate_news) Mar 31 04:00:01 web CROND[2491]: (root) CMD (/usr/lib64/sa/sa1 600 6 &) Mar 31 04:00:01 web CROND[2497]: (root) CMD (/etc/webmin/status/monitor.pl) Mar 31 04:00:01 web CROND[2500]: (some_user) CMD (/usr/bin/php /some_script.php ) Mar 31 04:00:01 web CROND[2509]: (some_user) CMD (/usr/bin/php /some_script.php ) Mar 31 04:00:01 web CROND[2512]: (some_user) CMD (/usr/bin/php /some_script.php ) Mar 31 04:00:01 web CROND[2514]: (some_user) CMD (/usr/bin/php /some_script.php ) Mar 31 04:00:01 web CROND[2534]: (some_user) CMD (/usr/bin/php /some_script.php ) Mar 31 04:00:02 web CROND[2553]: (some_user) CMD (/usr/bin/php /some_script.php ) Mar 31 04:00:12 web CROND[2560]: (some_user) CMD (/usr/bin/php /some_script.php ) Mar 31 04:00:22 web CROND[2670]: (some_user) CMD (/usr/bin/php /some_script.php ) Mar 31 04:00:32 web CROND[2673]: (some_user) CMD (/usr/bin/php /some_script.php ) Mar 31 04:00:42 web CROND[2675]: (some_user) CMD (/usr/bin/php /some_script.php ) Mar 31 04:00:52 web CROND[2678]: (some_user) CMD (/usr/bin/php /some_script.php ) Mar 31 04:01:02 web CROND[2680]: (some_user) CMD (/usr/bin/php /some_script.php ) Mar 31 04:01:02 web CROND[2683]: (root) CMD (run-parts /etc/cron.hourly) Mar 31 04:01:02 web CROND[2684]: (root) CMD (/etc/webmin/virtual-server/collectinfo.pl) Mar 31 04:01:02 web run-parts(/etc/cron.hourly)[2683]: starting 0anacron Mar 31 04:01:02 web anacron[2693]: Anacron started on 2013-03-31 Mar 31 04:01:02 web run-parts(/etc/cron.hourly)[2695]: finished 0anacron Mar 31 04:01:02 web run-parts(/etc/cron.hourly)[2683]: starting awstats 

任何的诉求都是令人厌恶的。

这是一个已知的错误:

我已经看到它发生在三月三十一日(CET – > CEST)的cronie-1.4.4-7.el6.x86_64在CentOS 6.2上发生,

由于我主要使用我的服务器来托pipe世界上任何时区都可以访问的基于Web的服务,因此我的服务器使用UTC(不经历DST)。 任何面向公众的界面都会转换为用户的当地时间(由他们的偏好configuration)。

应该指出的是,一些服务不能妥善处理被抛入未来(或过去)。