#!/bin/sh # # ejabberd Fault-tolerant distributed Jabber/XMPP server # # chkconfig: 345 99 01 # # description: Fault-tolerant distributed Jabber/XMPP server # # Source function library . /etc/rc.d/init.d/functions # Get service config - may override defaults [ -f /etc/sysconfig/ejabberd ] && . /etc/sysconfig/ejabberd EJABBERD_DOC_PATH="@EJABBERD_DOC_PATH@" EJABBERD_PID_PATH=/var/run/jabber/ejabberd.pid export EJABBERD_DOC_PATH EJABBERD_PID_PATH start() { # Check if the service is already running? if [ ! -f /var/lock/subsys/ejabberd ]; then msg_starting ejabberd ; busy /usr/sbin/ejabberdctl start RETVAL=$? if [ $RETVAL -eq 0 ]; then /usr/sbin/ejabberdctl started RETVAL=$? fi if [ $RETVAL -eq 0 ]; then touch /var/lock/subsys/ejabberd ok else fail fi else msg_already_running ejabberd fi } stop() { # Stop daemons. if [ -f /var/lock/subsys/ejabberd ]; then msg_stopping ejabberd ; busy /usr/sbin/ejabberdctl stop 2>/dev/null RETVAL=$? if [ $RETVAL -eq 0 ]; then /usr/sbin/ejabberdctl stopped 2>/dev/null RETVAL=$? fi if [ $RETVAL -eq 0 ]; then ok else fail fi rm -f /var/lock/subsys/ejabberd else msg_not_running ejabberd fi } # See how we were called. case "$1" in start) start ;; stop) stop ;; restart) stop start ;; reload|force-reload) if [ -f /var/lock/subsys/ejabberd ]; then stop start RETVAL=$? else msg_not_running ejabberd RETVAL=7 fi ;; status) status --pidfile $EJABBERD_PID_PATH ejabberd RETVAL=$? ;; *) msg_usage "$0 {start|stop|status|restart|reload|force-reload}" exit 3 esac exit $RETVAL