У меня есть сценарий на экземпляре EC2, который удаленно запускает другой экземпляр.
Как только этот экземпляр полностью загрузится (завершит загрузку), я хочу, чтобы он автоматически запускал скрипт bash, что будет лучшим способом сделать это?
Мне нужно, чтобы все было полностью запущено, в основном скрипт bash запускает скрипт конвертации изображений (используя ImageMagick и несколько раз выполняет команду "wget")
В настоящее время скрипт находится здесь:
/home/root/beginProcess.sh
И я могу запустить его вручную, выполнив
bash beginProcess.sh
RHEL-6,2-Starter-EBS-i386
Также к этому приложен том EBS, если это поможет, спасибо!
источник
/etc/rc.local
чудесно работает, ураЕсли вы используете AMI с
cloud-init
установленным пакетом (например, Amazon Linux или Ubuntu), вы можете просто передать bash-скрипт (который начинается с #!) Как файл пользовательских данных, и он будет запускаться автоматически в конце процесс загрузки.Например, это может быть так просто:
Вот статья, в которой я представил концепцию сценариев пользовательских данных, которая теперь доступна в основных AMI EC2, таких как Amazon Linux и Ubuntu: http://alestic.com/2009/06/ec2-user-data-scripts
К сожалению, похоже, что вы хотите использовать RHEL AMI. Я запустил копию этого и не смог найти никаких ссылок на cloud-init или запуск сценариев пользовательских данных при первой загрузке, а также не тестировал ту же работу.
Я не говорю, что вы должны переключать дистрибутивы Linux только для этого, но Amazon Linux основан на RHEL, так что это может сработать для вас.
Вот статья, которую я написал, которая может помочь вам отладить ваш скрипт пользовательских данных, если он не работает в первый раз: http://alestic.com/2010/12/ec2-user-data-output
источник