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

Posted

技术标签:

【中文标题】EC2(Beanstalk)crontab 未通过 .ebextensions 更新【英文标题】:EC2 (Beanstalk) crontab not updating via .ebextensions 【发布时间】:2014-07-13 19:52:15 【问题描述】:

我在 .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 作业已就位并准备就绪?

【问题讨论】:

【参考方案1】:

我已经找到了我的 cron 工作。

我必须检查:sudo crontab -l

之前我用的是crontab -l

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

无论如何,既然它显示在该 crontab 中,我将假设它们会按预期运行。

【讨论】:

【参考方案2】:

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

【讨论】:

以上是关于EC2(Beanstalk)crontab 未通过 .ebextensions 更新的主要内容,如果未能解决你的问题,请参考以下文章

EC2_HOME 未设置。从 Cron 运行 AWS 命令

Elastic Beanstalk 终止我的 EC2 实例

Elastic Beanstalk 未创建 ssl.conf

使用 Elastic Beanstalk 创建时的 AWS EC2 .pem 证书

Elastic Beanstalk:EC2 服务器上的应用程序目录/脚本位置

使用 AWS Elastic Beanstalk / EC2 时如何查看服务器日志?我需要使用 SSH 吗?