2015-03-07 3 views
0

Я пытаюсь запустить команду wget каждую минуту, которая просто ударяет по URL-адресу. Я в настоящее время имеют следующие в файле с именем project.config в папке .ebextensions:AWS Elastic Beanstalk execute wget in cronjob

01_test_cron: команда: * * * * */USR/бен/WGET -О/DEV/нуль http://name.of.url

It в настоящее время не выполняется - есть ли вопиющие ошибки?

ответ

2

Так как Упругие экземпляры фасонов автоматически масштабируются, вам нужно рассмотреть несколько вещей. Выполняется ли 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

Обновлено 9 марта 2015

Вам также необходимо добавить пустую строку в конец файла project.config в соответствии с синтаксисом YAML.

+0

Спасибо Noman. Я обновил его, как предполагалось, поскольку cron должен запускаться только на экземпляре лидера, но он все еще не выполняет wget. Должен ли быть установлен wget или он установлен по умолчанию в среде Elastic Beanstalk php? – bangersandflash

+0

Я проверил и установлен SSH. Когда экземпляр развертывается, я получаю эту ошибку: [Экземпляр: i-d0643cee Модуль: AWSEBAutoScalingGroup ConfigSet: null] Ошибка команды в экземпляре. Код возврата: 1 Выход: Ошибка при сборке: команда 02_cronjobs не удалась. – bangersandflash

+1

Я могу подтвердить, что это работает сейчас - я забыл о синтаксисе YAML и не добавил пустую строку в конец файла project.config. – bangersandflash

Смежные вопросы