【问题标题】:How do I get cron jobs running in container_commands on aws如何让 cron 作业在 aws 上的 container_commands 中运行
【发布时间】:2017-04-24 12:55:43
【问题描述】:

我有一个使用 ruby​​ 1.9.3 的 rails 3.2 应用程序

我们需要通过 container_commands 运行一个 cron 作业。

目前我在.ebextensions 目录中有一个common.config 文件,其中包含以下内容

container_commands:
  04_clear_old_epubs:
    command: "cat .ebextensions/clear_old_epubs_cron.txt > /etc/cron.d/clear_old_epubs_cron && chmod 644 /etc/cron.d/clear_old_epubs_cron"
    leader_only: true

然后在我的clear_old_epubs_cron.txt文件中

*/5 * * * * root /usr/bin/php rm -rf /var/app/current/public/epub-download-1/* > /dev/null

#

我从AWS Elastic Beanstalk, running a cronjob 接受的答案中得到了这个

cron 不会像预期的那样清除文件夹。不确定是什么阻止了 cron 运行,或者它是否正在运行,但还有其他问题。

任何人都可以看到错误或缺失的东西吗?

【问题讨论】:

    标签: ruby-on-rails ruby amazon-web-services cron cron-task


    【解决方案1】:

    正如您所指出的,可能是 cron 作业根本没有运行,或者由于某种错误而失败。

    在 crontab 中临时设置 MAILTO=youremail@yourdomain.com 会有所帮助。这样,cron 会将任何输出通过电子邮件发送给您。

    希望这会从您的 cronjob 中产生一些错误消息,帮助您诊断问题。

    如果您没有收到任何电子邮件,则 cron 作业根本没有运行(或者您的系统无法发送电子邮件......)此时,您需要阅读操作系统的cron 系统,看看是否有你遗漏的步骤。

    调试 cron 作业的另一种有用方法是通过 sudo 以交互方式运行它们,这应该为您提供与 cron 在路径、变量等方面运行作业时所使用的环境相同的环境。

    【讨论】:

      猜你喜欢
      • 2015-11-15
      • 2021-05-10
      • 2016-11-25
      • 2017-06-05
      • 1970-01-01
      • 2019-06-30
      • 2014-02-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多