Cron在不同的时区工作

nas*_*saa 11 cron controlpanel

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

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

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

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

Ale*_*exT 8

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

CRON_TZ指定具体的cron表的时区.用户在指定时区的时间内输入所选表格的时间.进入日志的时间取自本地时区,守护进程在哪里运行.

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

CRON_TZ=Europe/London
Run Code Online (Sandbox Code Playgroud)

你应该好.

  • 您应该始终使用`man 5 crontab`并首先搜索`TZ`,因为`CRON_TZ`的使用在不同的发行版中变化很大.Ubuntu 14.04 LTS也不支持`CRON_TZ`. (3认同)
  • 执行“crontab -e”并在文件顶部添加“CRON_TZ=Europe/London”。 (2认同)

Bar*_*zyk 7

我想你应该检查一下

/etc/default/cron
Run Code Online (Sandbox Code Playgroud)

或者只是输入

Crontab cronfile
Run Code Online (Sandbox Code Playgroud)

你应该找到

TZ=UTC
Run Code Online (Sandbox Code Playgroud)

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

5 2 3 * * TZ="America/New_York" /do/command > /dev/null 2>&1
Run Code Online (Sandbox Code Playgroud)

  • 请注意,crontab中的`TZ`规范不会影响作业的执行时间.它只是指定cron启动后进程应使用的时区. (9认同)

Tur*_*Ali 5

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

TZ=Europe/Moscow
Run Code Online (Sandbox Code Playgroud)

在每个 cronjob 之前。

全文在这里

  • 链接已死,一些例子会很好;-) (2认同)