Python Crontab:设置时区

Python Crontab:设置时区,python,cron,timezone,crontab,Python,Cron,Timezone,Crontab,我有一个基于django的网站安装在共享的web服务器上。我计划有几个cron作业来自动创建报告、发送电子邮件等。问题是共享服务器的时区是“America/New_York”(因为它是一个共享服务器,我没有更改它的权限),而我必须根据“Asia/Kolkata”时区运行cron。我怎样才能做到这一点 谢谢 在Chris的回答后更新 我将本地系统TZ设置为“美国/纽约” $ crontab -e TZ=Asia/Kolkata #(Accoring to some timezone dt: 2

我有一个基于django的网站安装在共享的web服务器上。我计划有几个cron作业来自动创建报告、发送电子邮件等。问题是共享服务器的时区是“America/New_York”(因为它是一个共享服务器,我没有更改它的权限),而我必须根据“Asia/Kolkata”时区运行cron。我怎样才能做到这一点

谢谢

在Chris的回答后更新

我将本地系统TZ设置为“美国/纽约”

$ 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------

------test_log.txt----


根据tz='Asia/Kolkata'的说法,这是什么时间。我的问题是:我们可以根据亚洲/加尔各答时区执行脚本test.py吗?

将这一行放在您的crontab中:

TZ=Asia/Kolkata

将这一行放在crontab中:

TZ=Asia/Kolkata

一种解决方案可能是让cron每小时运行20分钟,然后让脚本检查它是否是正确的亚洲时间,如果是,则仅继续。

一种解决方案可能是让cron每小时运行20分钟,然后让脚本检查它是否是正确的亚洲时间,如果是,则仅继续。

嗨,Chris。谢谢,但如果我没有错的话,这将把环境变量设置为指定的时区(在本例中为亚洲/加尔各答)。因此,任何脚本/命令都将使用此时区。但是脚本本身将根据服务器的时区执行,对吗?嗨,克里斯。谢谢,但如果我没有错的话,这将把环境变量设置为指定的时区(在本例中为亚洲/加尔各答)。因此,任何脚本/命令都将使用此时区。但是脚本本身将根据服务器的时区执行,对吗?我想建议只是在crontab中抵消时间,但后来我意识到,当使用日光节约时间时,实际上可能不起作用。因此,要解决这个问题,唯一的方法是动态创建CROTAB条目。而不是DATETIME.NOW(),考虑DATETIME.UTCNOW()和相应的偏移量。请阅读本文的更多内容:我打算建议在CROTAB中抵消时间,但后来我意识到,当使用日光节约时间时,实际上可能不起作用。因此,为了解决这个问题,唯一的方法是动态创建CROTAB条目。并相应抵消。有关详细信息,请阅读本文:。找不到更好的内容。这似乎是我现在最好的选择。谢谢:)找不到更好的了。这似乎是我现在最好的选择。谢谢:)
TZ=Asia/Kolkata