#!/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:
# 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
start() {
echo -n $"Starting ejabberd: "
if [ "$ULIMIT_MAX_FILES" ]; then
ulimit -n $ULIMIT_MAX_FILES
fi
daemon /usr/sbin/ejabberdctl 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
return $RETVAL
}
stop() {
# Stop daemons.
echo -n "Shutting down ejabberd: "
daemon /usr/sbin/ejabberdctl stop 2>/dev/null
RETVAL=$?
[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/ejabberd
echo
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)
/usr/sbin/ejabberdctl status
;;
*)
echo "Usage: ejabberd {start|stop|restart|force-reload|condrestart|try-restart|status}"
exit 2
esac
exit $?