原文链接:https://tlanyan.me/cron-runs-...

明天在一台国外服务器上发现一个问题:cron执行工作未依照预期的工夫执行。查看工作日志,发现相差了8个小时,正好是与中国时区的差别。

服务器上之前曾经设置了应用北京工夫:ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime,为何cron执行工作时还是依照UTC工夫执行呢?

上网查了一下,原来是设置本地工夫前cron曾经在运行了,因而依照默认的UTC工夫调度执行工作。问题的解决办法也很简略,重启cron服务即可:systemctl restart cron

PS:如果是CentOS零碎,服务名为crond,因而重启命令为:systemctl restart crond

参考

  1. cron running at different timezone and date command shows different time zone
  2. crontab中的百分号