Answers:
这可能取决于您的cron实现,但是手册中流行的Vixie cron指出:
然后,cron每分钟唤醒一次,检查所有存储的crontab,检查每个命令以查看是否应在当前分钟内运行。
和
当时钟更改时间少于3小时时,例如在夏令时的开始和结束时,存在一些特殊的注意事项。如果时间提前了,那些原本可以跳过的工作将在更改后立即运行。相反,如果时间倒退少于3小时,则属于重复时间的那些作业将不会重新运行。
仅在特定时间运行的作业(未指定为@hourly,也没有在小时或分钟说明符中使用'*')。使用通配符指定的作业将根据新时间立即运行。
由于DST更改少于3小时,因此您的程序将在3:00 AM之后不久运行
我不确定这是否是Vixie cron的特定行为,我似乎还记得这就是我的PDP-11在80年代的运作方式,但是我不确定。
最好的解决方案是让您的计算机在硬件时钟设置为UTC,(协调世界时),AKA GMT或Zulu时间的情况下运行,并且仅通过设置本地时区来更改显示时间的方式以允许夏令时时间接管。
在SUSE Linux上,并且可能在大多数其他Linux上,如果将硬件时钟系统->环境->时钟-> HWCLOCK设置为带有-u标志的UTC,则您的时区设置为您所在的系统,系统将自动显示本地时间DST更正为您。
这具有许多优点:
有关更多信息man hwclock
,请在终端中输入。