Saya memiliki skrip pada instance EC2 yang memulai instance lain dari jarak jauh.
Setelah instance ini sudah dimuat penuh (selesai booting) saya ingin skrip bash dijalankan secara otomatis, apa cara terbaik untuk melakukan ini?
Saya perlu semuanya dimulai sepenuhnya, pada dasarnya skrip bash menjalankan skrip konversi gambar (menggunakan ImageMagick dan menjalankan perintah "wget" beberapa kali)
Saat ini, skrip berada di sini:
/home/root/beginProcess.sh
Dan saya bisa memulainya secara manual dengan mengeksekusi
bash beginProcess.sh
RHEL-6.2-Starter-EBS-i386
Juga ada volume EBS yang melekat pada ini, jika itu membantu, Terima kasih!
sumber
/etc/rc.local
bekerja dengan sangat baik, tepuk tanganJika Anda menggunakan AMI yang memiliki
cloud-init
paket diinstal (seperti Amazon Linux atau Ubuntu) maka Anda bisa dengan mudah melewatkan skrip bash (yang dimulai dengan #!) Sebagai file data pengguna dan akan berjalan secara otomatis di akhir proses boot.Misalnya, bisa sesederhana:
Inilah artikel di mana saya memperkenalkan konsep skrip data pengguna, sekarang tersedia di AMI EC2 utama seperti Amazon Linux dan Ubuntu: http://alestic.com/2009/06/ec2-user-data-scripts
Sayangnya, sepertinya Anda ingin menggunakan RHEL AMI. Saya menjalankan salinan itu dan tidak dapat menemukan referensi ke cloud-init atau menjalankan skrip data pengguna pada boot pertama, juga tidak melakukan tes dari pekerjaan yang sama.
Saya tidak mengatakan Anda harus beralih distro Linux hanya untuk ini, tetapi Amazon Linux didasarkan pada RHEL, sehingga mungkin bekerja untuk Anda.
Berikut adalah artikel yang saya tulis yang mungkin membantu Anda men-debug skrip data pengguna Anda jika tidak berfungsi pertama kali: http://alestic.com/2010/12/ec2-user-data-output
sumber