![通过 Docker 内的 cron 运行 Python 脚本的问题](https://linux22.com/image/35014/%E9%80%9A%E8%BF%87%20Docker%20%E5%86%85%E7%9A%84%20cron%20%E8%BF%90%E8%A1%8C%20Python%20%E8%84%9A%E6%9C%AC%E7%9A%84%E9%97%AE%E9%A2%98.png)
我有一个通过 Docker 运行的官方 Ubuntu 14.04.1 容器。
cron 工作正常,我* * * * * /bin/echo "working" >> /test
使用添加到我的 crontab crontab -e
,然后启动 cron start cron
,它按预期工作。
我的脚本运行良好,我已经这样做了chmod +x main.py
,我可以通过执行它./main.py
,我的“services.log”正常获取所有输出,没有崩溃。
但是当我将它添加到 crontab10 * * * * /root/bumpr/main.py
并执行start cron
任何操作时,我的“services.log”上什么也没有打印。
这里有什么问题?
答案1
我在这里遇到了完全相同的问题。
解决方案: 所有你需要的是:
env > /django_app/.env
原因:显然 crontab 会话执行没有设置环境变量。这可能是处理由 docker 控制的环境变量的一些不同方式,这使得命令在 bash 上运行,而不是通过 crontab 运行。
否则: 如果这些都与您的问题无关。在您的 crontab 配置上尝试并查看日志:
* * * * * /usr/bin/python3 /django_app/manage.py <your_command_here> 2>/django_app/crontab_error.log
阿尔特 -[电子邮件受保护]