Crontab:设置时区
我在一个共享的网络服务器上安装了一个基于Django的网站。我打算设置几个定时任务,来自动生成报告、发送邮件等等。问题是,这个共享服务器的时区是“美国/纽约”(因为是共享服务器,我没有权限去更改它),而我需要按照“亚洲/加尔各答”的时区来运行这些定时任务。我该怎么做呢?
谢谢
在Chris的回答后更新
我把我本地系统的时区设置成了“美国/纽约”
$ crontab -e
TZ=Asia/Kolkata
#(Accoring to some timezone dt: 21 July 11, time: 20:20)
20 20 * * * python test.py > test_log.txt
------ test.py ------
from datetime import datetime as dt
print dt.now()
------ test_log.txt ----
2011-07-22 08:42:02.592777
这是根据时区“亚洲/加尔各答”得到的时间。我的问题是:我们能否按照“亚洲/加尔各答”的时区来执行test.py这个脚本呢?
2 个回答
0
在你的定时任务设置里加上这一行:
TZ=Asia/Kolkata
1
一种解决办法是让定时任务每小时的20分钟时运行,然后让脚本检查一下现在是不是亚洲的正确时间,只有在时间对的时候才继续执行。