cron的时区问题

Gui*_*ois 11 cron time-zone cronjob

与服务器时间相比,我的 cron 作业是在一小时后计算的。我不明白发生了什么。

我的配置如下:

服务器时间:

Europe/Paris
Run Code Online (Sandbox Code Playgroud)

在 /etc/default/cron 中,我添加了以下行:

TZ="Europe/Paris"
Run Code Online (Sandbox Code Playgroud)

尽管如此,cron 作业比服务器时间晚一小时启动。真正棘手的是,如果我让 cron 播放指令“日期”,它会给出服务器日期(好的!)。

我不知道如何解决这个问题;我一直在论坛上阅读一些资料,但没有发现任何有趣的内容。

你怎么认为 ?

Kei*_*son 16

(复制我的评论作为答案,因为结果证明它是解决方案;我猜对了。)

因此,cron 作业正在 UTC 中安排(与 UTCEurope/Paris有一个小时的偏移)。

Vixie cron 手册页说:

如果存在,守护程序将使用 /etc/timezone 中的时区定义。

里面有什么/etc/timezone?您是否/etc/timezone在启动 cron 进程之后进行了修改?你有没有尝试过

/etc/init.d/cron restart
Run Code Online (Sandbox Code Playgroud)

?