EC2(Beanstalk)crontab不通过.ebextensions更新

时间:2014-05-24 14:55:09

标签: amazon-ec2 crontab elastic-beanstalk

我在.extensions / site_cron.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是:

0 23 * * * php /var/www/html/index.php cron publish_new

我从Beanstalk那里拿了一份我的日志快照,看看:

2014-05-24 14:41:46,743 [DEBUG] Running command 01_remove_old_cron_jobs
2014-05-24 14:41:46,744 [DEBUG] Generating defaults for command 01_remove_old_cron_jobs
<<<

2014-05-24 14:41:46,857 [DEBUG] No test for command 01_remove_old_cron_jobs
2014-05-24 14:41:46,877 [INFO] Command 01_remove_old_cron_jobs succeeded
2014-05-24 14:41:46,877 [DEBUG] Command 01_remove_old_cron_jobs output: 
2014-05-24 14:41:46,878 [DEBUG] Running command 02_cronjobs
2014-05-24 14:41:46,878 [DEBUG] Generating defaults for command 02_cronjobs
<<<

2014-05-24 14:41:46,989 [DEBUG] Running test for command 02_cronjobs
2014-05-24 14:41:47,005 [DEBUG] Test command output: 
2014-05-24 14:41:47,006 [DEBUG] Test for command 02_cronjobs passed
2014-05-24 14:41:47,028 [INFO] Command 02_cronjobs succeeded
2014-05-24 14:41:47,029 [DEBUG] Command 02_cronjobs output: 
2014-05-24 14:41:47,029 [DEBUG] No services specified

似乎所有事情都经历好了,而且实例处于绿色状态。但是,我在crontab -e/var/www/html/.ebextensions中没有看到任何内容 - 这给出了什么?我怎么知道我的cron工作已到位并准备好了?

2 个答案:

答案 0 :(得分:1)

我能找到我的cron工作。

我必须检查:sudo crontab -l

之前我使用的是crontab -l

不完全确定它为什么显示为sudo,但不是为登录用户显示。我想我已经是根。

无论如何,因为它在crontab中显示,我将假设它们将按预期运行。

答案 1 :(得分:1)

出于某种原因,如果您在根crontab中安装作业,他们就不会运行。 他们必须在ec2-user crontab中,否则他们就不会执行。