1*4882a593Smuzhiyun#!/bin/sh 2*4882a593Smuzhiyun# 3*4882a593Smuzhiyun# Start/stop ejabberd 4*4882a593Smuzhiyun# 5*4882a593Smuzhiyun 6*4882a593SmuzhiyunCTL=/usr/sbin/ejabberdctl 7*4882a593SmuzhiyunDEFAULT=/etc/ejabberd/ejabberdctl.cfg 8*4882a593SmuzhiyunINSTALLUSER=ejabberd 9*4882a593SmuzhiyunRUNDIR=/var/run/ejabberd 10*4882a593Smuzhiyun 11*4882a593Smuzhiyun# Read default configuration file if present. 12*4882a593Smuzhiyun[ -r "$DEFAULT" ] && . "$DEFAULT" 13*4882a593Smuzhiyun 14*4882a593Smuzhiyun# Create RUNDIR. 15*4882a593Smuzhiyunmkrundir() { 16*4882a593Smuzhiyun install -d -o "$INSTALLUSER" -g "$INSTALLUSER" "$RUNDIR" 17*4882a593Smuzhiyun} 18*4882a593Smuzhiyun 19*4882a593Smuzhiyuncase "$1" in 20*4882a593Smuzhiyun start) 21*4882a593Smuzhiyun mkrundir || exit 1 22*4882a593Smuzhiyun printf "Starting ejabberd... " 23*4882a593Smuzhiyun "$CTL" start 24*4882a593Smuzhiyun # Wait until ejabberd is up and running. 25*4882a593Smuzhiyun if "$CTL" started; then 26*4882a593Smuzhiyun echo "done" 27*4882a593Smuzhiyun else 28*4882a593Smuzhiyun echo "failed" 29*4882a593Smuzhiyun fi 30*4882a593Smuzhiyun ;; 31*4882a593Smuzhiyun stop) 32*4882a593Smuzhiyun printf "Stopping ejabberd... " 33*4882a593Smuzhiyun "$CTL" stop > /dev/null 34*4882a593Smuzhiyun if [ $? -eq 3 ] || "$CTL" stopped; then 35*4882a593Smuzhiyun echo "OK" 36*4882a593Smuzhiyun else 37*4882a593Smuzhiyun echo "failed" 38*4882a593Smuzhiyun fi 39*4882a593Smuzhiyun ;; 40*4882a593Smuzhiyun status) 41*4882a593Smuzhiyun "$CTL" status 42*4882a593Smuzhiyun ;; 43*4882a593Smuzhiyun restart|force-reload) 44*4882a593Smuzhiyun "$0" stop || true 45*4882a593Smuzhiyun "$0" start 46*4882a593Smuzhiyun ;; 47*4882a593Smuzhiyun live) 48*4882a593Smuzhiyun mkrundir || exit 1 49*4882a593Smuzhiyun "$CTL" live 50*4882a593Smuzhiyun ;; 51*4882a593Smuzhiyun *) 52*4882a593Smuzhiyun echo "Usage: $0 {start|stop|status|restart|force-reload|live}" 53*4882a593Smuzhiyun exit 1 54*4882a593Smuzhiyunesac 55