Linux版 HULFT7の起動スクリプト

Linux版 HULFT7は、インストールパッケージに /etc/init.d 以下に配置する起動スクリプトが付属していません。

なので、セゾン情報システムズに問い合わせて、送ってもらったスクリプトをもとに作成しました。




Heartbeat + Pacemakerの監視+フェイルオーバー環境に対応した起動スクリプトです。

Hulft7はそもそもクラスタ版があるので、Heartbeat + Pacemakerでフェイルオーバー環境を作るひとは稀かもしれないけど...


# vi /etc/init.d/hulft
# ln -s /etc/init.d/hulft /etc/rc3.d/S99hulft
# chmod 755 /etc/init.d/hulft
# chkconfig --add hulft
# chkconfig --level 3 hulft on
# chkconfig --list hulft


--------------------------------
/etc/init.d/hulft
--------------------------------
#!/bin/bash
#
# ln -s /etc/init.d/hulft /etc/rc3.d/S99hulft
#
# description: Run hulft
# chkconfig: - 60 50
# processname: hulft
#
export HUL_HOME=/opt/usr/local/hulft7
export HULEXEP=$HUL_HOME/bin
export HULPATH=$HUL_HOME/etc
export PATH=$PATH:$HULEXEP:$HULPATH:
export LANG=ja_JP.UTF-8
PROFILEDIR=/var/lock/subsys
prog="hulft"

# Source function library.
#
if [ -f /etc/init.d/functions ] ; then
. /etc/init.d/functions
elif [ -f /etc/rc.d/init.d/functions ] ; then
. /etc/rc.d/init.d/functions
else
exit 0
fi

RETVAL=0

start() {
if [ -f $PROFILEDIR/$prog ] ; then
echo "HULFT7 is already running."
else
KIND="HULFT_SNDD"
echo -n $"Starting $KIND services: "
daemon $HUL_HOME/bin/hulsndd
RETVAL=$?
echo

KIND="HULFT_RCVD"
echo -n $"Starting $KIND services: "
daemon $HUL_HOME/bin/hulrcvd
RETVAL2=$?
echo

KIND="HULFT_OBSD"
echo -n $"Starting $KIND services: "
daemon $HUL_HOME/bin/hulobsd
RETVAL3=$?

[ $RETVAL -eq 0 -a $RETVAL2 -eq 0 -a $RETVAL3 -eq 0 ] && touch $PROFILEDIR/$prog || \
RETVAL=1

echo ""
fi
return $RETVAL
}

stop() {
if [ -f $PROFILEDIR/$prog ] ; then
KIND="HULFT_SNDD"
echo -n $"Shutting down $KIND services: "
$HUL_HOME/bin/utlkillsnd
RETVAL=$?
echo

KIND="HULFT_RCVD"
echo -n $"Shutting down $KIND services: "
$HUL_HOME/bin/utlkillrcv
RETVAL2=$?
echo

KIND="HULFT_OBSD"
echo -n $"Shutting down $KIND services: "
$HUL_HOME/bin/utlkillobs
RETVAL3=$?
[ $RETVAL -eq 0 -a $RETVAL2 -eq 0 -a $RETVAL3 -eq 0 ] && rm -f $PROFILEDIR/hulft || \
RETVAL=1
echo ""
else
echo "HULFT7 is not running."
fi

return $RETVAL
}

#status() {
# ps -ef | grep -vE 'grep|status' | grep -E 'hulsndd|hulrcvd|hulobsd'
#}

restart() {
stop
start
}

case "$1" in
start)
start
;;
stop)
stop
;;
status)
status hulsndd
RETVAL=$?

status hulrcvd
RETVAL2=$?

status hulobsd
RETVAL3=$?

if [ $RETVAL -eq 0 -a $RETVAL2 -eq 0 -a $RETVAL3 -eq 0 ] ; then
RETVAL=0
else
RETVAL=3
fi
;;
restart)
restart
;;
condrestart)
[ -f $PROFILEDIR/hulft ] && restart || :
;;
*)
echo $"Usage: $0 {start|stop|status|restart|condrestart}"
exit 1
esac

exit $RETVAL