【问题标题】:AWS Elastic Beanstalk execute wget in cronjobAWS Elastic Beanstalk 在 cronjob 中执行 wget
【发布时间】:2015-05-08 21:21:00
【问题描述】:

我试图每分钟运行一个 wget 命令,它只是点击一个 url。我目前在 .ebextensions 文件夹中名为 project.config 的文件中有以下内容:

01_test_cron: 命令:* * * * * /usr/bin/wget -O /dev/null http://name.of.url

它目前没有执行 - 是否有任何明显的错误?

【问题讨论】:

    标签: amazon-web-services cron wget amazon-elastic-beanstalk


    【解决方案1】:

    由于 Elastic Beanstalk 实例会自动扩展,因此您需要考虑一些事项。 cron 作为其设置在每个实例上运行还是仅在领导实例上运行?对于第二个选项,您应该在 project.config 文件中包含以下内容:

    container_commands:
        01_remove_old_cron_jobs:
            command: "crontab -r || exit 0"
        02_cronjobs:
            command: "cat .ebextensions/crontab | crontab"
            leader_only: true
    

    .ebextensions/crontab 文件的内容是:

    * * * * * /usr/bin/wget -O /dev/null http://name.of.url

    2015 年 3 月 9 日更新

    您还需要按照 YAML 语法在 project.config 文件的末尾添加一个空行。

    【讨论】:

    • 谢谢诺曼。我已经按照建议更新了它,因为 cron 只需要在领导实例上运行,但它似乎仍然没有执行 wget。 wget需要安装还是默认安装在Elastic Beanstalk php环境中?
    • 我已经检查并安装了 SSH。部署实例时出现此错误:[Instance: i-d0643cee Module: AWSEBAutoScalingGroup ConfigSet: null] Command failed on instance。返回代码:1 输出:构建期间发生错误:命令 02_cronjobs failed .
    • 我可以确认这正在工作 - 我忘记了 YAML 语法并且没有在 project.config 文件的末尾添加空行。
    • 谢谢,我已经更新了我的答案并添加了那部分。
    猜你喜欢
    • 2015-06-18
    • 2020-10-02
    • 2015-09-26
    • 2014-05-23
    • 2016-05-14
    • 2017-01-17
    • 2017-08-05
    • 2018-06-05
    • 2019-03-09
    相关资源
    最近更新 更多