首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >弹性Beanstalk 2 Cron作业运行但未执行

弹性Beanstalk 2 Cron作业运行但未执行
EN

Stack Overflow用户
提问于 2021-10-29 09:39:46
回答 1查看 223关注 0票数 1

我已经将我的配置文件简化为我能想到的最简单的例子,但是我仍然无法让cron执行。这是一个django项目,虽然看起来这些crons试图运行,但它们实际上并没有执行。

代码语言:javascript
复制
.ebextensions/cron-log.config    
  "/etc/cron.d/test_cron":
    mode: "000644"
    owner: root
    group: root
    content: |
        */1 * * * * root . /opt/elasticbeanstalk/deployment/env && echo "TESTING" >> /var/log/test_log.log 2>&1

commands:
  rm_old_cron:
    command: "rm -fr /etc/cron.d/*.bak"
    ignoreErrors: true

从aws下载日志时,不存在test_log.log

在日志中返回的cron文件中,它显示:

代码语言:javascript
复制
Oct 29 09:03:01 ip-172-31-8-91 CROND[10212]: (root) CMD (. /opt/elasticbeanstalk/deployment/env && echo "TESTING" >> /var/log/test_log.log 2>&1)

我尝试过许多不同的方法,包括让运行的命令对我们的数据库进行更改,但它似乎从未真正执行过。

EN

回答 1

Stack Overflow用户

发布于 2022-06-04 22:09:49

最近我遇到了同样的问题(PHP ElasticBeanstalk,迁移到AL2),并找到了这个解决方案

基本上,由于Amazon 2不再具有“/opt/弹性bean秸秆/support/envvars”,而且“/opt/弹性bean秸秆/部署/env”需要sudo来访问,因此需要有效地为cron作业创建自己的环境变量文件以供引用。创建一个新的.ebextensions配置脚本,其中包含以下内容:

代码语言:javascript
复制
commands:
    setvars:
        command: /opt/elasticbeanstalk/bin/get-config environment | jq -r 'to_entries | .[] | "export \(.key)=\"\(.value)\""' > /etc/profile.d/sh.local

然后,引用"/etc/profile.d/sh.local“文件,而不是”/opt/弹力豆茎/部署/env“。您的cron条目现在应该如下所示:

代码语言:javascript
复制
*/1 * * * * root . /etc/profile.d/sh.local && echo "TESTING" >> /var/log/test_log.log 2>&1

...and你应该做得很好!:)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69766711

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档