51 lines
850 B
Bash
51 lines
850 B
Bash
#!/bin/bash
|
|
# Start/stop/restart the ejabberd xmpp server
|
|
|
|
bin=/usr/sbin/ejabberdctl
|
|
|
|
start_ejabberd() {
|
|
echo "Starting ejabberd... "
|
|
$bin start
|
|
$bin started
|
|
}
|
|
|
|
stop_ejabberd() {
|
|
echo "Stoppping ejabberd... "
|
|
$bin stop
|
|
$bin stopped
|
|
}
|
|
|
|
restart_ejabberd() {
|
|
stop_ejabberd
|
|
start_ejabberd
|
|
}
|
|
|
|
status_ejabberd() {
|
|
$bin status
|
|
}
|
|
|
|
force-stop_ejabberd() {
|
|
echo "Killing ejabberd... "
|
|
port=$(/usr/bin/epmd -names | awk -v name=ejabberd '$2==name {print $5}')
|
|
if [ -z "$port" ]; then
|
|
echo "ejabberd not found"
|
|
else
|
|
kill $(lsof -i TCP:$port -s TCP:LISTEN | tail -n +2 | awk '{print $2}')
|
|
fi
|
|
}
|
|
|
|
case "$1" in
|
|
start)
|
|
start_ejabberd ;;
|
|
stop)
|
|
stop_ejabberd ;;
|
|
restart|reload)
|
|
restart_ejabberd ;;
|
|
status)
|
|
status_ejabberd ;;
|
|
force-stop)
|
|
force-stop_ejabberd ;;
|
|
*)
|
|
echo "usage $0 start|stop|restart|status|force-stop"
|
|
esac
|