GNU/Linux >> Tutoriales Linux >  >> Linux

Ejecute un script bash después de que se inicie la instancia EC2

Solución 1:

Sugeriría simplemente usar la opción de datos de usuario para ec2-run-instances . Le permite dar un script de algún tipo a la máquina virtual que se ejecutará en el primer arranque. Si está usando ubuntu o debian, puede usar cloud-init, que le da un buen toque al proceso. Si usa cloud-init, puede usar el [runcmd] sección del archivo de configuración para especificar comandos arbitrarios para ejecutar después del arranque.

Gracias al usuario de SF Eric Hammond por la página de datos de usuario. Visite su sitio:tiene una gran cantidad de información sobre AWS.

Editar:después de volver a leer, no está claro si desea ejecutar un comando en el arranque inicial o en cada arranque. Las instrucciones anteriores solo se aplican al arranque inicial. Si desea ejecutar un comando en cada inicio, tiene un par de opciones:puede ejecutar un comando a través de @reboot directiva cron, o alternativamente puede agregar el script a /etc/rc.local , que se ejecutará cada vez que se inicie el sistema.

Solución 2:

Si estaba usando una AMI que tenía el cloud-init paquete instalado (como Amazon Linux o Ubuntu), entonces podría simplemente pasar el script bash (que comienza con #!) como el archivo de datos del usuario y se ejecutaría automáticamente al final del proceso de arranque.

Por ejemplo, podría ser tan simple como:

ec2-run-instances                             \
  --user-data-file /home/root/beginProcess.sh \
  --key $USER                                 \
  ami-XXXXXXXX

Aquí está el artículo en el que presenté el concepto de script de datos de usuario, ahora disponible en las principales AMI de EC2 como Amazon Linux y Ubuntu:http://alestic.com/2009/06/ec2-user-data-scripts

Lamentablemente, parece que desea utilizar una AMI de RHEL. Ejecuté una copia de eso y no pude encontrar ninguna referencia a cloud-init o ejecutar secuencias de comandos de datos de usuario en el primer arranque, ni hice una prueba del mismo trabajo.

No estoy diciendo que deba cambiar las distribuciones de Linux solo por esto, pero Amazon Linux se basa en RHEL, por lo que podría funcionar para usted.

Aquí hay un artículo que escribí que podría ayudarlo a depurar su secuencia de comandos de datos de usuario si no funciona la primera vez:http://alestic.com/2010/12/ec2-user-data-output


Linux
  1. ¿Cómo ejecutar comandos bash de Linux en un script PERL?

  2. Ssh:¿cómo ejecutar un script inmediatamente después de conectarse a través de Ssh?

  3. ¿Cómo ejecutar un script de shell en una consola Unix o terminal Mac?

  4. Ejecutar script bash como demonio

  5. Permiso denegado con bash.sh para ejecutar cron

Cómo ejecutar un script Bash {7 métodos}

script de inicio utorrent / ejecutar utorrent en el arranque – Ubuntu 14.04 / 14.10

Cómo ejecutar un script al arrancar en Debian 11

Cómo ejecutar un script Bash

Ejecute el script bash después de iniciar sesión

¿Cómo ejecutar un script bash a través de una ruta absoluta?