albサーバ起動の自動化

Post date: 2012/08/20 4:43:13

以下のようなスクリプトを/etc/init.d/alb_svcに登録する

#!/bin/bash

# chkconfig: 345 98 20

# description: Start up ALB service

# processname: alb

ALBHOME=/home/anagix/anagix_tools/alb

LICFILE=$ALBHOME/license.dat

LOGFILE=$ALBHOME/log/production.log

start(){

if [ -f $LICFILE ] ; then

if [ -f $LOGFILE ] ; then

DATESTR=`/bin/date '+%y%m%d%H%M%S'`

/bin/mv $LOGFILE $LOGFILE.$DATESTR

fi

# /bin/su anagix -c "cd $ALBHOME; ./alb -e production >>$LOGFILE 2>&1 &"

/bin/su anagix -c "cd $ALBHOME; ./alb -e production >>& $LOGFILE &"

fi

return 0

}

stop(){

/usr/bin/pkill -u anagix alb 2> /dev/null || /bin/echo ...Stopped.

return 0

}

case "$1" in

start)

start

;;

stop)

stop

;;

esac

exit 0

注意:

1。起動は、rootでなくても行える。

/etc/init.d/alb_svc start

と入力すると、ユーザanagixのパスワードを要求される。

2。restart は実装されてないので、/etc/init.d/alb_svc stop でストップしたあと、再度startすること。

3。CentOSの場合、chkconfig --add だったかでサービスを恒久化(電源起動時に、start)できる。