#! /bin/sh # # ejabberd Start/stop ejabberd server # code modified by Roberto Ostinelli roberto at ostinelli dot net # for Salix changed again by Raphael Groner raphgro(at)web.de #### BEGIN INIT INFO # Provides: ejabberd # Required-Start: $network # Required-Stop: $network # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Starts ejabberd jabber server # Description: Starts ejabberd jabber server, an XMPP # compliant server written in Erlang. ### END INIT INFO PATH=/sbin:/bin:/usr/sbin:/usr/bin EJABBERDCTL=/usr/sbin/ejabberdctl NAME=ejabberd test -f $EJABBERDCTL || exit 0 if [ -f /etc/default/ejabberd ] ; then . /etc/default/ejabberd fi ctl() { $EJABBERDCTL $1 >/dev/null } fail_msg() { echo -n " ...failed!" echo " ($1)" exit 1 } succ_msg() { echo " ...done." exit 0 } case "$1" in start) echo -n "Starting jabber server: $NAME" if ctl status ; then echo -n " - Server is already running." succ_msg else ctl start fi ;; stop) echo -n "Stopping jabber server: $NAME" if ctl status ; then if ctl stop ; then cnt=0 sleep 1 while ctl status ; do cnt=`expr $cnt + 1` if [ $cnt -gt 60 ] ; then fail_msg "Could not stop server." fi sleep 1 done fi else echo -n " - Server is not running." succ_msg fi ;; restart|force-reload) echo -n "Restarting jabber server: $NAME" if ctl status ; then ctl restart else echo -n " - Server is not running. Starting $NAME" ctl restart fi ;; *) echo "Usage: /etc/init.d/$NAME {start|stop|restart|force-reload}" >&2 exit 0 ;; esac if [ $? -eq 0 ]; then succ_msg exit 0 else fail_msg "Errors were encoundered." exit 1 fi