我正在使用一个Amazon Linux AMI,并对其进行一些自定义修改(添加了一个axis2server等),并将其保存为新的AMI。 现在我想要做的是,当AMI启动时,启动axis2server(即在实例启动时axis2server应自动启动)。 为此,我使用了以下类似的init脚本,并运行了以下命令:
chkconfig --add axisservice
但是当我从镜像启动新实例时,axis2server不会启动。
我只需要在启动时执行脚本/home/ec2-user/axis2-1.6.1/bin/axis2server.sh。这里是否有遗漏的地方?
#! /bin/sh
# Basic support for IRIX style chkconfig
###
# chkconfig: 235 98 55
# description: Manages the services you are controlling with the chkconfig command
###
case "$1" in
start)
echo -n "Starting axisservice"
touch ~/temp.txt
cd /home/ec2-user/axis2-1.6.1/bin
./axis2server.sh &
echo "."
;;
stop)
echo -n "Stopping axisservice"
echo "."
;;
*)
echo "Usage: /sbin/service axisservice {start|stop}"
exit 1
esac
exit 0
我也阅读了https://help.ubuntu.com/community/CloudInit,它提供了一种名为User-Data Scripts的机制,用户可以在启动脚本时执行脚本。
$ euca-run-instances --key mykey --user-data-file myscript.sh ami-axxxx
这是一个命令行选项,我希望的是,当通过用户界面启动实例时,脚本应该被启动。因此,我认为上述选项在我的情况下无法使用。如果我错了,请纠正我。
谢谢, H.