Crontab时区问题.需要在印度标准时间中使用cron选项卡运行脚本.但是服务器时间是MST



我在上使用具有以下特定格式的共享服务器

Linux版本2.6.32-604.30.3.lve1.3.63.el6.x86_64(mockbuild@build.cloudlinux.com)(gcc版本4.4.7 20120313(Red Hat4.4.7-16)(GCC))#1 SMP 2015年美国东部时间9月27日星期日06:34:10

当我运行date命令时,如下所示。这是服务器的时区是MST,也就是GMT-7。

@[~]$date 2016年4月15日星期五01:42:24

我想在印度时间[亚洲/加尔各答]这个服务器上每天早上5点运行crontab。

因此,设置crontab如下:

CRON_TZ=IST 
0 5 * * * php my_file.php

但文件仍然在服务器时间上午5点执行,比我需要的时间早了12点30分。

希望你能理解我的要求。提前谢谢。

您可以尝试设置变量TZ='IST'而不是CRON_TZ='IST'。此外,在对这个守护程序的配置文件进行更改后,您需要重新启动它:

service cron restart

可选地,cron.conf/etc/default/cron:中

export TZ='IST'

您可以使用印度时区的全名:

export TZ='Asia/Kolkata'

刚刚在Ubuntu 14/16上解决了这个问题。非常适合我。

步骤(sudo隐含):

  1. cat /etc/timezone
  2. rm -fv /etc/localtime
  3. ln -s /usr/share/zoneinfo/Asia/Kolkata /etc/localtime
  4. apt install -y --reinstall tzdata
  5. /etc/init.d/rsyslog restart
  6. tail -f /var/log/syslog
  7. cat /etc/timezone

最新更新