albサーバ起動の自動化

2012/08/19 21:43 に 森山誠二郎 が投稿
以下のようなスクリプトを/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)できる。

Comments