Crontab 不遵守指定的时区(CRON_TZ 或 TZ)

Crontab 不遵守指定的时区(CRON_TZ 或 TZ)

我注意到我的脚本可能在错误的时间运行(可能是 UTC?)。但我已将CRON_TZ其添加到crontab

编辑


它是Ubuntu 18.04,DigitalOcean.com droplet它是从 创建的snapshot


我检查了语法,我认为它是正确的。你知道问题可能出在哪里吗?

CRON_TZ='Europe/Prague'
53 12 * * * touch /home/futilestudio/feedproject/cronsupervisor/scripts/touch0.txt

脚本应该被执行12:53斯洛伐克/捷克共和国时间(24 小时制),但事实并非如此 - 它没有创建touch0.txt。如果我手动执行它,它会起作用。

确认的

我尝试在 UTC 中输入一个命令,它创建了一个文件(SK/CZ 是 13:24,但 UTC 现在是 11:24)

24 11 * * * touch /home/futilestudio/feedproject/cronsupervisor/scripts/touch0.txt

编辑

现在是布拉格时间 14:20,我安排了两项工作:

21 12 * * * TZ=Europe/Prague touch /home/futilestudio/feedproject/cronsupervisor/scripts/touch0.txt
21 14 * * * TZ=Europe/Prague touch /home/futilestudio/feedproject/cronsupervisor/scripts/touch1.txt

并从目录中删除了 touch0.txt。

14:21-创建/home/futilestudio/feedproject/cronsupervisor/scripts/touch0.txt

答案1

那么同时设置 CRON_TZ 和 TZ 怎么样?

SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=me

CRON_TZ='欧洲/布拉格'

TZ='欧洲/布拉格'

53 12 * * * 触摸 /home/futilestudio/feedproject/cronsupervisor/scripts/touch0.txt

相关内容