我在 Ubuntu 14.04 上的 DigitalOcean 的 VPS 服务上运行 crontab。
我制作了一个网络抓取工具,每两个小时完成一次工作。我的问题是,cron 忽略我设置的时间并遵循分钟指令。
这是我的 cron 行
30 8,10,12,14,16 * * * /usr/bin/python /path/to/myscript.py
这项工作不是在上午 8.30、上午 10.30 等进行,而是在今晚 11.30 运行。我将分钟更改为 37 分钟,并在晚上 11 点 37 分再次运行。
在运行 cron 之前,我将 TZ 更改为我的时间(悉尼),当我通过终端登录 VPS 时,date
返回我的当地时间。
有什么想法出了什么问题吗?
答案1
只是为了保存评论中的答案:
结果发现问题是 cron 是在一个 TZ 值下启动的;之后,TZ 被更改(影响未来的进程),但直到使用新的 TZ 重新启动 cron 后,cron 作业才在正确的时间运行。