【发布时间】:2021-10-16 18:14:40
【问题描述】:
我在我的 docker 容器中定义了很多 cronjobs,我在去度假时让它们运行。当我回来时,一切都停止了。看来容器在我休假期间的某个时间点重新启动,而我的 docker 配置不够好,无法自行重新启动 crontab 服务。
但是现在我重新启动了它,我的 cronjobs 不起作用。我检查了服务是否正在运行,我可以确保 crontab 正在完成它的部分工作,因为它的条目已成功记录在 syslog 中。但是我的脚本没有被执行。我从写入日志文件开始(我的任务是使用 Django 命令和 python 日志库),但日志文件没有得到更新。
从命令行手动运行命令仍然有效,我的命令指定了所有内容的绝对路径(甚至是要使用的 python 二进制文件......)。我不知道在哪里看才能了解目前出了什么问题。
注意:自从假期回来后,我确实更新了一些代码,但不会影响脚本中的起始日志消息。
作为测试,我创建了一个脚本 bash,其中包含一行:echo "foo" > /path/to/some_non_exiting_file.txt。我使用crontab -e 编辑了cron 并添加了* * * * * myscript.sh 行。结果下一分钟,我的文件被创建了,但它是空的。
【问题讨论】:
标签: django cron django-management-command