He creado una Amazon AMI personalizada (Fedora) ejecuta algunos scripts y luego se apaga.Secuencia de comandos de inicio en EC2
El problema con AMI es que si mi código cambia, tiene que haber una forma para que la instancia de AMI obtenga las últimas secuencias de comandos antes de ejecutarlas.
me escribió un script de shell & ponerlo en /etc/init.d/nt_startup
Para mantener el código hasta la fecha, ejecuto un script de shell git pull
en mi repositorio de código y luego ejecutar el script.
El problema es que el git pull
no parece ejecutarse cuando se inicia una instancia, pero la secuencia de comandos python se ejecuta correctamente. No está seguro de lo que me falta ... aquí está el script de inicio:
#!/bin/bash
#
# ec2 Startup script for EC2 machines
#
# chkconfig: 345 99 02
# description: Script used to issue startup and shutdown commands.
#
if [ "$1" = "start" ]; then
/usr/scripts/code/git_latest
python /usr/scripts/code/process.py
exit
fi
if [ "$1" = "stop" ]; then
#nothing
exit
fi
El script de shell /usr/scripts/code/git_latest
se parece a esto:
#pulls in the latest code from the repository
cd /usr/scripts/code
sudo git pull
Cabe tirando abajo la última process.py
guión.
Lo extraño es que si me conecto a mi instancia y ejecuto el script de inicio manualmente (/etc/init.d/nt_startup "start"
), el script git funciona bien.
¿Echo de menos algo?
¿Por qué estás usando sudo? Los scripts de inicio se ejecutan como root de todos modos. – tylerl