Mam skrypt na instancji EC2, który zdalnie uruchamia inną instancję.
Gdy to wystąpienie zostanie w pełni załadowane (zakończone ładowanie), chcę, aby automatycznie uruchomiło skrypt bash, jaki byłby najlepszy sposób na to?
Potrzebuję wszystkiego, aby być w pełni uruchomionym, w zasadzie skrypt bash uruchamia skrypt konwersji obrazu (używając ImageMagick i wykonuje polecenie „wget” kilka razy)
Obecnie skrypt znajduje się tutaj:
/home/root/beginProcess.sh
I mogę uruchomić go ręcznie, wykonując
bash beginProcess.sh
RHEL-6.2-Starter-EBS-i386
Do tego dołączony jest również wolumin EBS, jeśli to pomaga, dziękuję!
źródło
/etc/rc.local
działa wspaniale, na zdrowieJeśli korzystasz z interfejsu AMI z
cloud-init
zainstalowanym pakietem (np. Amazon Linux lub Ubuntu), możesz po prostu przekazać skrypt bash (zaczynający się od #!) Jako plik danych użytkownika i uruchomi się on automatycznie na końcu proces rozruchu.Na przykład może to być tak proste, jak:
Oto artykuł, w którym przedstawiłem koncepcję skryptu danych użytkownika, teraz dostępną w głównych AMI EC2, takich jak Amazon Linux i Ubuntu: http://alestic.com/2009/06/ec2-user-data-scripts
Niestety wygląda na to, że chcesz użyć RHEL AMI. Uruchomiłem kopię tego i nie mogłem znaleźć żadnych odniesień do inicjowania w chmurze lub uruchamiania skryptów danych użytkownika przy pierwszym uruchomieniu, ani nie przetestowałem tej samej pracy.
Nie twierdzę, że powinieneś zmienić dystrybucję Linuksa tylko w tym celu, ale Amazon Linux jest oparty na RHEL, więc może ci się to przydać.
Oto artykuł, który napisałem, który może pomóc w debugowaniu skryptu danych użytkownika, jeśli nie działa po raz pierwszy: http://alestic.com/2010/12/ec2-user-data-output
źródło