【发布时间】:2018-01-30 17:33:47
【问题描述】:
我正在尝试使用 django-cron 在我的 elasticbeanstalk ec2 实例上运行 cronjobs。
我创建了一个 cronjob.cron:
*/5 * * * * root /opt/python/run/venv/bin/python3 /opt/python/current/app/manage.py runcrons >> /var/log/cronjobs.log
并使用命令添加文件:
container_commands:
06_runcrons:
command: "cat .ebextensions/cronjobs.cron > /etc/cron.d/djangocrons && chmod 644 /etc/cron.d/djangocrons"
leader_only: true
cron 似乎在运行,但没有任何内容打印到我的 /var/log/cronjobs.log 中(应该每 5 分钟打印一次)。
我无法手动测试 ec2 实例上的脚本,因为我使用 aws:elasticbeanstalk:application:environment: 添加的环境变量在 ec2-user 或 root 中都不存在。这些环境变量被写入哪里?它们仅在部署期间出现吗?
服务器本身工作正常,所以我的 db 环境变量工作正常。
我是否需要为我的 cronjobs 使用其他用户?我该如何解决这个问题?
编辑: 删除用户喜欢:
*/5 * * * * /opt/python/run/venv/bin/python3 /opt/python/current/app/manage.py runcrons >> /var/log/cronjobs.log
结果
(CRON) bad username (/etc/cron.d/djangocrons)
在我的 /var/log/cron 中
【问题讨论】:
-
你试过没有root(又名
*/5 * * * * /opt/python/run/venv/bin/python3 /opt/python/current/app/manage.py runcrons >> /var/log/cronjobs.log)吗? -
用答案更新了我的问题
标签: python django amazon-web-services cron amazon-elastic-beanstalk