有没有办法为特定时区设置cronjob?
我的共享主机位于美国(弗吉尼亚州),我在英国。如果我设置一个cron作业在每个星期五的1600小时执行,那么它将在弗吉尼亚州的1600年时执行。
我想知道我是否可以设置我的cronjob,以便了解选择哪个时区。我不太担心夏令时的差异。
我已经向我的共享托管服务提供商询问了这个问题,他们说我应该可以在某些cron ini文件中设置时区,但我找不到任何文件。
答案 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)
答案 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
注意:-用您希望的时区替换亚洲/加尔各答