Ich habe eine benutzerdefinierte Amazon AMI (Fedora) erstellt ein paar Skripts ausgeführt und fährt dann herunter.Startup-Skript auf EC2
Das Problem mit AMIs ist, dass, wenn sich mein Code ändert, es eine Möglichkeit für die AMI-Instanz geben muss, die neuesten Skripts zu bekommen, bevor sie ausgeführt werden.
ich einen Shell-Skript geschrieben & es ausdrückte in /etc/init.d/nt_startup
den Code, um das Laufendes halten, führe ich einen git pull
Shell-Skript in meiner Code-Repository und dann das Skript ausführen.
Das Problem ist, die git pull
scheint nicht zu laufen, wenn eine Instanz hochfährt, aber das Python-Skript läuft gut. Nicht sicher, was ich vermisse ... hier ist das Startskript:
#!/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
Die /usr/scripts/code/git_latest
Shell-Skript sieht wie folgt aus:
#pulls in the latest code from the repository
cd /usr/scripts/code
sudo git pull
Es sollte die letzte nach unten process.py
Skript Strang ziehen.
Die seltsame Sache ist, dass, wenn ich ssh in meine Instanz und das Startskript manuell ausführen (/etc/init.d/nt_startup "start"
), das Git-Skript funktioniert gut.
Fehle ich etwas?
Warum verwenden Sie Sudo? Startskripts werden trotzdem als root ausgeführt. – tylerl