Sophie

Sophie

distrib > Mageia > 3 > i586 > media > core-release-src > by-pkgid > 1b95dae9c6d5d53dc96c43c3ccc9e83e > files > 13

ejabberd-2.1.11-8.mga3.src.rpm

#!/bin/bash
#
# ejabberd    Start and stop ejabberd.

# chkconfig: - 40 60
# description: ejabberd
# processname: ejabberd
# pidfile: /var/run/ejabberd.pid

### BEGIN INIT INFO
# Provides: ejabberd
# Required-Start: network
# Required-Stop: network
# Default-Start: 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start and stop ejabberd
# Description: A distributed, fault-tolerant Jabber/XMPP server
### END INIT INFO

. /etc/rc.d/init.d/functions

if [ -r /etc/sysconfig/ejabberd ]; then
	. /etc/sysconfig/ejabberd
fi

if [ ! "$CONFIG_FILE" ]; then
	CONFIG_FILE=/etc/ejabberd/ejabberd.cfg
fi

# we're using symlinked consolehelper to check user's rights
progctl=/usr/bin/ejabberdctl

start() {
        echo -n $"Starting ejabberd: "
	if [ "$ULIMIT_MAX_FILES" ]; then
		ulimit -n $ULIMIT_MAX_FILES
	fi

	# check whether ejabberd was already started
	if $progctl status > /dev/null 2>&1 ; then
		echo -n "already running" && warning && echo
		return 0
	fi

	daemon $progctl start	--config $CONFIG_FILE \
				--ctl-config /etc/ejabberd/ejabberdctl.cfg \
				--logs "/var/log/ejabberd" \
				--spool "/var/lib/ejabberd/spool" \
				2>/dev/null
        RETVAL=$?
        [ $RETVAL -eq 0 ] && touch /var/lock/subsys/ejabberd
        echo

	# it takes some time to actually start necessary nodes
	sleep 5

        return $RETVAL
}

stop() {
        # Stop daemons.
        echo -n "Shutting down ejabberd: "

	# check whether ejabberd was already stopped
	if ! $progctl status > /dev/null 2>&1 ; then
		echo -n "already stopped" && warning && echo
		return 0
	fi

	daemon $progctl stop 2>/dev/null
        RETVAL=$?
        [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/ejabberd
        echo

	# it takes some time to actually stop necessary nodes
	sleep 5

        return $RETVAL
}

restart() {
        stop
	sleep 5
        start
}

# See how we were called.
case "$1" in
  start)
        start
        ;;
  stop)
        stop
        ;;
  restart|force-reload)
        restart
        ;;
  condrestart|try-restart)
        [ -f /var/lock/subsys/ejabberd ] && restart || :
        ;;
  status)
	$progctl status
        ;;
  *)
        echo "Usage: ejabberd {start|stop|restart|force-reload|condrestart|try-restart|status}"
        exit 2
esac

exit $?