Cron在不同的时区工作

时间:2012-11-08 13:25:14

标签: cron controlpanel

有没有办法为特定时区设置cronjob?

我的共享主机位于美国(弗吉尼亚州),我在英国。如果我设置一个cron作业在每个星期五的1600小时执行,那么它将在弗吉尼亚州的1600年时执行。

我想知道我是否可以设置我的cronjob,以便了解选择哪个时区。我不太担心夏令时的差异。

我已经向我的共享托管服务提供商询问了这个问题,他们说我应该可以在某些cron ini文件中设置时区,但我找不到任何文件。

5 个答案:

答案 0 :(得分:8)

您可以在CentOS 6服务器上使用CRON_TZ环境变量,摘自man 5 crontab

  

CRON_TZ指定cron表的特定时区。   用户在指定的时间内输入所选表格的时间   时区。进入日志的时间取自当地时区,其中是   守护进程正在运行。

因此,如果您在cron条目的顶部添加此内容:

CRON_TZ=Europe/London

你应该好。

答案 1 :(得分:6)

我认为你应该检查

/etc/default/cron

或只输入

Crontab cronfile

你应该找到

TZ=UTC

应该更改(例如America / New_York)。第二种方式是在cron示例中设置的

5 2 3 * * TZ="America/New_York" /do/command > /dev/null 2>&1

答案 2 :(得分:3)

如果您想为特定的cronjob设置不同的时区,请通过ssh执行crontab -e并添加

TZ=Europe/Moscow

每个cronjob之前。

Full article here

答案 3 :(得分:1)

扩展AlexT的答案:

CRON_TZ="Europe/London"

就是答案。

P.S。如果有人在这里寻找GoDaddy的时区修复,我建议把...

export TZ="Europe/London"

...在您的.bashrc中,以便您的控制台在您的时区中运行。

答案 4 :(得分:0)

在Ubuntu 18.08上

host@machine$crontab -e

然后输入

TZ=Asia/Kolkata 

注意:-用您希望的时区替换亚洲/加尔各答