我创建了一个自定义Amazon AMI(Fedora)运行一些脚本然后关闭.
AMI的问题在于,如果我的代码发生了变化,那么AMI实例必须有一种方法可以在执行它们之前获取最新的脚本.
我写了一个shell脚本并将其放入 /etc/init.d/nt_startup
为了使代码保持最新,我git pull
在代码库中执行shell脚本,然后执行脚本.
问题是,git pull
实例启动时似乎没有运行,但python脚本运行得很好.不知道我错过了什么......这是启动脚本:
#!/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
该/usr/scripts/code/git_latest
shell脚本是这样的:
#pulls in the latest code from the repository cd /usr/scripts/code sudo git pull
它应该是拉下最新的process.py
脚本.
奇怪的是,如果我ssh到我的实例并手动执行启动脚本(/etc/init.d/nt_startup "start"
),git脚本工作正常.
我错过了什么吗?