cron作业在不同的时区(Cron job in a different timezone)

2019-07-03 16:18发布

有没有建立一个cronjob特定时区的一种方式?

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

如果我可以设置我的cronjob以这样一种方式,它懂得挑哪个时区我想知道。 我不是太担心日光节约时间的差别。

我也问过我的共享主机提供商这件事,他们说我应该能够设置时区的一些cron的INI文件,但我找不到任何。

Answer 1:

我认为你应该检查

/etc/default/cron

或只需键入

Crontab cronfile

你应该找到

TZ=UTC

这将改变(例如美国/纽约)。 第二种方式是在cron例如设定

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


Answer 2:

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

CRON_TZ指定特定的cron表的时区。 用户类型成在指定的时间区的时间所选择的表倍。 时间到日志从本地时区,哪里是守护进程运行服用。

所以,如果你在你的顶部添加此cron项:

CRON_TZ=Europe/London

你应该是不错的。



Answer 3:

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

TZ=Europe/Moscow

每前的cronjob。

这里全文



Answer 4:

为了扩大AlexT的回答:

CRON_TZ="Europe/London"

就是答案。

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

export TZ="Europe/London"

...在你的.bashrc让您的控制台在你的时区运行。



文章来源: Cron job in a different timezone