#!/bin/sh # # mgbrs MaGic BRoker for Suse # # functions start the magic broker # # version /etc/rc.d/init.d/mgbrs 0.2 (pre.alpha) 03.10.2000 # to be used with SuSE # # author klaus-dieter uhlich, kladde # # mailing list: www.egroups.com/groups/magicu-l # # BR_PATH: directory of the magic broker # default is "/usr/magicadm/broker" BR_PATH=/usr/magicadm/broker # BR_USER: get the environment of an user # default is "magicadm" BR_USER=magicadm # # # # # source function library . /etc/rc.config # # Set the variable START_MGBROKER = "yes" in /etc/rc.config file # to start the broker on runtime level change # # Determine the base and follow a runlevel link name. base=${0##*/} link=${base#*[SK][0-9][0-9]} # test $link = $base && START_MGBROKER=yes test "$START_MGBROKER" = "yes" || exit 0 # # set additional messages based on rc.config # to give more information. # if test "$TERM" != "raw" ; then rc_up="${stat}${attn}${extd} up${norm}" rc_down="${stat}${attn}${extd}down${norm}" else rc_up=" up" rc_down=" down" fi # # if you are not $BR_USER recall this script with $BR_USER. # if [ "$USER" != "$BR_USER" ] ; then su $BR_USER -c "umask 022; $0 $1" exit $? fi # # test the enviroment variables # if [ ! -f $BR_PATH/mgrqmrb ] ; then echo "mgbrs: $BR_PATH/mgrqmrb not found$rc_failed" exit 1 fi # if [ ! -f $BR_PATH/mgrb.ini ]; then if [ ! -f $BR_PATH/MGRB.INI ]; then echo "mgbrs: $BR_PATH/mgrb.ini not found$rc_failed" exit 2 fi fi # # See how we were called. # # echo -n "mgbrs service $1:" case "$1" in start) checkproc $BR_PATH/mgrqmrb && return=$rc_up || return=$rc_failed if [ "$return" == "$rc_failed" ] ; then cd $BR_PATH $BR_PATH/mgrqmrb -ReusePorts & checkproc $BR_PATH/mgrqmrb && return=$rc_done || return=$rc_failed fi echo -e $return ;; stop) checkproc $BR_PATH/mgrqmrb && return=$rc_done || return=$rc_down if [ "$return" == "$rc_done" ] ; then killproc -TERM $BR_PATH/mgrqmrb && return=$rc_done || return=$rc_failed fi echo -e $return ;; reload|restart) echo $0 stop $0 start ;; status) checkproc $BR_PATH/mgrqmrb && return=$rc_up || return=$rc_down echo -e $return ;; *) echo echo "Usage: $0 {start|stop|restart|reload|status}" exit 1 esac test "$return" == "$rc_failed" && exit 1 exit 0