不同时区中的Cron作业

不同时区中的Cron作业,cron,controlpanel,Cron,Controlpanel,有没有为特定时区设置cronjob的方法 我的共享主机在美国(弗吉尼亚州),我在英国。如果我将cron作业设置为每周五1600时执行,那么它将在弗吉尼亚州1600时执行 我想知道我是否可以将cronjob设置为这样一种方式,即它能够理解选择哪个时区。我不太担心夏令时的差异 我已经询问了我的共享主机提供商,他们说我应该能够在一些cron ini文件中设置时区,但我找不到任何时区。我想你应该检查一下 /etc/default/cron 或者只是打字 Crontab cronfile 你应该找到

有没有为特定时区设置cronjob的方法

我的共享主机在美国(弗吉尼亚州),我在英国。如果我将cron作业设置为每周五1600时执行,那么它将在弗吉尼亚州1600时执行

我想知道我是否可以将cronjob设置为这样一种方式,即它能够理解选择哪个时区。我不太担心夏令时的差异


我已经询问了我的共享主机提供商,他们说我应该能够在一些cron ini文件中设置时区,但我找不到任何时区。

我想你应该检查一下

/etc/default/cron
或者只是打字

Crontab cronfile
你应该找到

TZ=UTC
这应该改变(例如美国/纽约)。第二种方法是在cron示例中设置的

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

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

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

因此,如果在
cron
条目的顶部添加此项:

CRON_TZ=Europe/London

您应该很好。

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

TZ=Europe/Moscow
每次工作之前


要详细介绍亚历克斯特的答案:

CRON_TZ="Europe/London"
这就是答案

p、 如果有人在这里寻找戈达迪的时区修正,我建议把

export TZ="Europe/London"
…在您的.bashrc中,以便您的控制台在您的时区中运行。

在Ubuntu 18.08上

host@machine$crontab-e
然后进入

TZ=亚洲/加尔各答

注意:-将亚洲/加尔各答替换为您想要的时区

谢谢Bartosz。1.etc文件夹中没有默认文件夹。也没有cron文件夹2。当我设置TZ=“America/New_york”或“Europe/London”时,我得到curl:(6)无法解决主机“TZ=America”错误。请注意,crontab中的
TZ
规范不会影响作业的执行时间。它只是指定一旦由cron启动,进程应该使用哪个时区。可能更好,或者您应该始终使用
man 5 crontab
并首先搜索
TZ
,因为
cron_TZ
的用法在不同的发行版之间有很大差异。Ubuntu 14.04 LTS不支持
CRON_TZ
也不支持。执行
crontab-e
并在文件顶部添加
CRON_TZ=Europe/London
。链接已失效,一些示例可能会更好;-)