如何在弹性 beantalk 配置上运行 wget cron 命令

Posted

技术标签:

【中文标题】如何在弹性 beantalk 配置上运行 wget cron 命令【英文标题】:How to run wget cron command on elastic beanstalk config 【发布时间】:2020-10-05 06:18:39 【问题描述】:

我有一个关于弹性 Beanstalk 的实例。 根据documentation 在 beanstalk 环境中运行 cron,我将创建一个名为“mycron.config”的文件并将其放在 .ebextensions 文件夹中。

我已经做到了。 “mycron.config”文件如下所示:

commands:
     command: "*/5 * * * * /usr/bin/wget -O /dev/null https://example.com/pull-shopify-orders"

我尝试每 5 分钟访问一次此网址。 cron 没有运行。我做错了什么?

【问题讨论】:

【参考方案1】:

不确定您指的是什么文档(无链接),但我猜您写的是 cron.yaml,它仅适用于工作环境。

要在 Web 环境中设置 cron,您必须“手动”创建具有适当内容和权限的 /etc/cron.d/mycron

最近的一篇 AWS 博客文章解释了此过程:

How do I create cron jobs on Amazon EC2 instances in Elastic Beanstalk environments?

博客创建cron-linux.config 的示例内容(为您的用例修改的内容):

files:
    "/etc/cron.d/mycron":
        mode: "000644"
        owner: root
        group: root
        content: |
            */5 * * * * root /usr/local/bin/myscript.sh

    "/usr/local/bin/myscript.sh":
        mode: "000755"
        owner: root
        group: root
        content: |
            #!/bin/bash

            #date > /tmp/date
            /usr/bin/wget -O /dev/null https://example.com/pull-shopify-orders
            exit 0

commands:
    remove_old_cron:
        command: "rm -f /etc/cron.d/mycron.bak"

【讨论】:

您好,感谢您的回答,是的,这就是我所指的那个。那是我正在看的那个,但我问我如何设置 wget 来访问外部链接? @Marcin 我会在#Your actual script content 中插入这个“*/5 * * * * /usr/bin/wget -O /dev/null example.com/pull-shopify-orders”吗? @FabricioG 我修改了示例以更接近您的用例。 你太棒了 Marcin 谢谢! @Marcin

以上是关于如何在弹性 beantalk 配置上运行 wget cron 命令的主要内容,如果未能解决你的问题,请参考以下文章

如何在同一个弹性beantalk实例上运行socket.io和表达?

配置弹性beantalk以使用新版本的python

在弹性 beantalk 上配置 apache

如何修复弹性beantalk实例上的“使用这些代码失败的健康检查:”?

使用 ebextensions 配置在弹性 beantalk 上安装 ffmpeg

使用弹性 beantalk 在亚马逊网络服务上上传 codeigniter 项目