我有一个在 ELINOS4 环境中的嵌入式设备中执行的 cron 实例。这个设备有问题,我认为与电池有关,它改变了系统日期。
对于嵌入式应用程序来说不是问题,因为应用程序会重新同步日期。但是对于 cron 守护进程会影响其调度程序,从而导致在很远的将来对下一次执行进行编程。使用标志执行 cron 我得到以下日志:
[3933] TargetTime=1359121500, sec-to-wait=60
...
[3933] spool dir mtime unch, no load needed.
[3933] tick(45,13,24,0,5) user [root:0:0:...] cmd="/etc/logrotate /etc/logrotate.conf"
[3933] TargetTime=1359121560, sec-to-wait=1130199663
[3933] sleeping for 1130199663 seconds
我尝试手动更改日期,但 cron 未检测到此更改(它正在休眠https://stackoverflow.com/a/4141239)。
一种快速破解方法是修改 cron 的源代码,但是否存在更好的解决方案?
提前致谢