クラウドで 伸びる人沈む人 |
|
|
|
起動スクリプトの作成
<IT技術の処方箋:起動スクリプトの作成> 起動スクリプトの作成方法を学習しましょう。 下にサンプルスクリプトを掲載しましたので、 それをみながら読んでいってください。 起動スクリプトは、おおきく別けて、環境変数の定義を行い、 start(),stop,restart()を作成します。 stat,stop,restartの どれを指定されたかをcaseで別けて実行します。 ね、簡単でしょ。 で、二重起動防止の仕組みを簡単に説明しておきます。 start起動すると、 /var/lock/subsys/ にテンポラリーに、ゼロファイルを作成し、 このテンポラリーのファイルが存在すれば、 二重起動を防止するようになっています。 では、サンプルを見てみましょう。 トムキャットの起動スクリプトです。 #!/bin/sh # # chkconfig: - 85 15 # # description: Start and stop Jakarta Tomcat service. # processname: xxx-srv # pidfile: /var/run/tomcat/xxx.pid # SUDO_CMD=/usr/bin/sudo USER=root JAVA_HOME=/usr/java/j2sdk1.4.2_08 CATALINA_BASE=/home/xxxusr/xxx CATALINA_OPTS="-Xmx256M -Xms128M -Djava.awt.headless=true" CATALINA_PID=/var/run/tomcat/xxx.pid DISPLAY=localhost:0.0 CATALINA_HOME=/usr/local/tomcat export JAVA_HOME CATALINA_BASE CATALINA_OPTS CATALINA_PID DISPLAY CATALINA_HOME PATH=$PATH:$JAVA_HOME/bin # Source function library. if [ -f /etc/rc.d/init.d/functions ]; then . /etc/rc.d/init.d/functions elif [ -f /etc/init.d/functions ]; then . /etc/init.d/functions fi start() { echo "Starting xxx-srv: " if [ -f /var/lock/subsys/xxx-srv ]; then action "xxx-srv is running now." /bin/false RETVAL=$? echo "" else $SUDO_CMD -u $USER ""$CATALINA_HOME/bin/startup.sh" && touch /var/lock/subsys/xxx-srv RETVAL=$? echo "" fi } stop () { echo "Shutting down xxx-srv: " if [ -f /var/lock/subsys/xxx-srv ]; then $SUDO_CMD -u $USER ""$CATALINA_HOME/bin/shutdown.sh" RETVAL=$? if [ "$RETVAL" = "0" ]; then rm -f /var/lock/subsys/xxx-srv fi echo "" else action "xxx-srv is not running." /bin/false RETVAL=$? echo "" fi } status() { status xxx-srv } restart() { stop sleep 5 start } case "$1" in start) start ;; stop) stop ;; restart) restart ;; *) echo "Usage: $0 {start|stop|restart}" exit 1 esac exit $RETVAL 参考)起動スクリプトの意味 http://www.searchman.info/tips/1610.html 参考)起動スクリプトの登録 http://www.searchman.info/tips/1630.html 参考)起動スクリプトの順番 http://www.searchman.info/tips/1640.html |