108 lines
2.3 KiB
Bash
108 lines
2.3 KiB
Bash
#!/bin/sh
|
|
#
|
|
# chkconfig: 345 95 05
|
|
# description: Starts and stops MBSE BBS.
|
|
#
|
|
# For RedHat, E-Smith and Mandrake SYSV init style.
|
|
# $Id$
|
|
#
|
|
# Source function library.
|
|
. /etc/rc.d/init.d/functions
|
|
|
|
# Source networking configuration.
|
|
. /etc/sysconfig/network
|
|
|
|
# Check that networking is up.
|
|
[ ${NETWORKING} = "no" ] && exit 1
|
|
|
|
# Find the MBSE_ROOT from the /etc/passwd file.
|
|
MBSE_ROOT=`cat /etc/passwd | grep mbse: | awk -F ':' '{ print $6}'`
|
|
|
|
if [ "${MBSE_ROOT}" = "" ]
|
|
then
|
|
echo "MBSE BBS: No 'mbse' user in the password file."
|
|
exit 1
|
|
fi
|
|
|
|
if [ ! -d ${MBSE_ROOT} ]
|
|
then
|
|
echo "MBSE BBS: Home directory '${MBSE_ROOT}' not found."
|
|
exit 1
|
|
fi
|
|
|
|
export MBSE_ROOT
|
|
|
|
SU="su"
|
|
#
|
|
# From RedHat version 6.1 and up the behaviour of "su" has changed.
|
|
# Extra tests are added for the RedHat e-smith server distribution,
|
|
# this is a special distribution based on RedHat.
|
|
# For Mandrake we follow the same behaviour.
|
|
#
|
|
if [ -f /etc/mandrake-release ]; then
|
|
#
|
|
# Mandrake 6.0 and newer, use "su -"
|
|
#
|
|
RHR="`cat /etc/mandrake-release | awk '{ print $4 }' | tr -d .`"
|
|
if [ $RHR -gt 60 ]; then
|
|
SU="su -"
|
|
fi
|
|
else
|
|
if [ -f /etc/redhat-release ]; then
|
|
if [ -z "`grep e-smith /etc/redhat-release`" ]; then
|
|
# Standard RedHat
|
|
RHR=`cat /etc/redhat-release | awk '{ print $5 }' | tr -d .`
|
|
else
|
|
# E-Smith server based on RedHat
|
|
RHR=`cat /etc/redhat-release | awk '{ print $13 }' | tr -d . | tr -d \)`
|
|
fi
|
|
if [ $RHR -gt 60 ]; then
|
|
SU="su -"
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
|
|
# See how we were called.
|
|
case "$1" in
|
|
start)
|
|
echo -n "Starting MBSE BBS: "
|
|
rm -f ${MBSE_ROOT}/var/run/*
|
|
rm -f ${MBSE_ROOT}/sema/*
|
|
rm -f ${MBSE_ROOT}/var/*.LCK
|
|
rm -f ${MBSE_ROOT}/tmp/mb*
|
|
$SU mbse -c '${MBSE_ROOT}/bin/mbtask' >/dev/null
|
|
echo -n "mbtask "
|
|
sleep 2
|
|
if [ -f ${MBSE_ROOT}/etc/config.data ]; then
|
|
$SU mbse -c '${MBSE_ROOT}/bin/mbstat open -quiet'
|
|
echo "opened"
|
|
fi
|
|
touch /var/lock/subsys/mbsed
|
|
;;
|
|
stop)
|
|
echo -n "Shutting down MBSE BBS: "
|
|
if [ -f ${MBSE_ROOT}/var/run/mbtask ]; then
|
|
echo -n "logoff users "
|
|
$SU mbse -c '${MBSE_ROOT}/bin/mbstat close wait -quiet' >/dev/null
|
|
echo -n "done, "
|
|
echo -n "stop mbtask: "
|
|
killproc mbtask -15
|
|
rm -f /var/lock/subsys/mbsed
|
|
sleep 3
|
|
fi
|
|
echo ""
|
|
;;
|
|
status)
|
|
status mbtask
|
|
;;
|
|
restart|reload)
|
|
$0 stop
|
|
$0 start
|
|
;;
|
|
*)
|
|
echo "Usage: $0 {start|stop|restart|reload|status}"
|
|
exit 1
|
|
esac
|
|
exit 0
|