通过 Docker 内的 cron 运行 Python 脚本的问题

通过 Docker 内的 cron 运行 Python 脚本的问题

我有一个通过 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

阿尔特 -[电子邮件受保护]

相关内容