d005227
#!/bin/sh
d005227
#
d005227
# rabbitmq-server RabbitMQ broker
d005227
#
d005227
# chkconfig: - 80 05
d005227
# description: Enable AMQP service provided by RabbitMQ
d005227
#
d005227
d005227
### BEGIN INIT INFO
d005227
# Provides:          rabbitmq-server
d005227
# Required-Start:    $remote_fs $network
d005227
# Required-Stop:     $remote_fs $network
c403745
# Default-Start:
c403745
# Default-Stop:
d005227
# Description:       RabbitMQ broker
d005227
# Short-Description: Enable AMQP service provided by RabbitMQ broker
d005227
### END INIT INFO
d005227
d005227
PATH=/sbin:/usr/sbin:/bin:/usr/bin
d005227
DAEMON=/usr/sbin/rabbitmq-multi
d005227
NAME=rabbitmq-server
d005227
DESC=rabbitmq-server
d005227
USER=rabbitmq
d005227
NODE_COUNT=1
d005227
ROTATE_SUFFIX=
c403745
INIT_LOG_DIR=/var/log/rabbitmq
d005227
c403745
DEFAULTS_FILE=/etc/sysconfig/rabbitmq
d005227
LOCK_FILE=/var/lock/subsys/$NAME
d005227
d005227
test -x $DAEMON || exit 0
d005227
d005227
# Include rabbitmq defaults if available
c403745
if [ -f "$DEFAULTS_FILE" ] ; then
c403745
	. $DEFAULTS_FILE
d005227
fi
d005227
d005227
RETVAL=0
d005227
set -e
d005227
d005227
start_rabbitmq () {
d005227
    set +e
c403745
    $DAEMON start_all ${NODE_COUNT} > ${INIT_LOG_DIR}/startup_log 2> ${INIT_LOG_DIR}/startup_err
d005227
    case "$?" in
d005227
      0)
c403745
        echo SUCCESS
c403745
        [ -n "$LOCK_FILE" ] && touch $LOCK_FILE
d005227
        RETVAL=0
d005227
        ;;
d005227
      1)
c403745
        echo TIMEOUT - check ${INIT_LOG_DIR}/startup_\{log,err\}
d005227
        RETVAL=1
d005227
        ;;
d005227
      *)
c403745
        echo FAILED - check ${INIT_LOG_DIR}/startup_log, _err
d005227
        RETVAL=1
d005227
        ;;
c403745
    esac
d005227
    set -e
d005227
}
d005227
d005227
stop_rabbitmq () {
d005227
    set +e
d005227
    status_rabbitmq quiet
d005227
    if [ $RETVAL = 0 ] ; then
c403745
        $DAEMON stop_all > ${INIT_LOG_DIR}/shutdown_log 2> ${INIT_LOG_DIR}/shutdown_err
d005227
        RETVAL=$?
c403745
        if [ $RETVAL = 0 ] ; then
c403745
            [ -n "$LOCK_FILE" ] && rm -rf $LOCK_FILE
d005227
        else
c403745
            echo FAILED - check ${INIT_LOG_DIR}/shutdown_log, _err
d005227
        fi
d005227
    else
d005227
        echo No nodes running 
d005227
        RETVAL=0
d005227
    fi
d005227
    set -e
d005227
}
d005227
d005227
status_rabbitmq() {
d005227
    set +e
d005227
    if [ "$1" != "quiet" ] ; then
d005227
        $DAEMON status 2>&1
d005227
    else
d005227
        $DAEMON status > /dev/null 2>&1
d005227
    fi
d005227
    if [ $? != 0 ] ; then
d005227
        RETVAL=1
d005227
    fi
d005227
    set -e
d005227
}
d005227
d005227
rotate_logs_rabbitmq() {
d005227
    set +e
d005227
    $DAEMON rotate_logs ${ROTATE_SUFFIX}
d005227
    if [ $? != 0 ] ; then
d005227
        RETVAL=1
d005227
    fi
d005227
    set -e
d005227
}
d005227
d005227
restart_rabbitmq() {
d005227
    stop_rabbitmq	    
d005227
    start_rabbitmq
d005227
}
d005227
d005227
case "$1" in
d005227
    start)
d005227
        echo -n "Starting $DESC: "
d005227
        start_rabbitmq
d005227
        echo "$NAME."
d005227
        ;;
d005227
    stop)
d005227
        echo -n "Stopping $DESC: "
d005227
        stop_rabbitmq
d005227
        echo "$NAME."
d005227
        ;;
d005227
    status)
d005227
        status_rabbitmq
d005227
        ;;
d005227
    rotate-logs)
d005227
        echo -n "Rotating log files for $DESC: "
d005227
        rotate_logs_rabbitmq
d005227
        ;;
c403745
    force-reload|reload|restart|condrestart|try-restart)
d005227
        echo -n "Restarting $DESC: "
d005227
        restart_rabbitmq
d005227
        echo "$NAME."
d005227
        ;;
d005227
    *)
d005227
        echo "Usage: $0 {start|stop|status|rotate-logs|restart|condrestart|try-restart|reload|force-reload}" >&2
c403745
        RETVAL=1
d005227
        ;;
d005227
esac
d005227
d005227
exit $RETVAL