我在我的 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
。事实证明,下一分钟,我的文件被创建了,但它是空的。