3 # rabbitmq-server RabbitMQ broker
6 # description: Enable AMQP service provided by RabbitMQ
10 # Provides: rabbitmq-server
11 # Required-Start: $remote_fs $network
12 # Required-Stop: $remote_fs $network
13 # Description: RabbitMQ broker
14 # Short-Description: Enable AMQP service provided by RabbitMQ broker
17 PATH=/sbin:/usr/sbin:/bin:/usr/bin
19 DAEMON=/usr/sbin/${NAME}
20 CONTROL=/usr/sbin/rabbitmqctl
24 INIT_LOG_DIR=/var/log/rabbitmq
25 PID_FILE=/var/run/rabbitmq/pid
27 START_PROG="runuser rabbitmq --session-command"
28 LOCK_FILE=/var/lock/subsys/$NAME
30 test -x $DAEMON || exit 0
31 test -x $CONTROL || exit 0
36 [ -f /etc/default/${NAME} ] && . /etc/default/${NAME}
39 PID_DIR=`dirname ${PID_FILE}`
40 if [ ! -d ${PID_DIR} ] ; then
42 chown -R ${USER}:${USER} ${PID_DIR}
49 rmdir `dirname ${PID_FILE}` || :
54 if [ $RETVAL = 0 ] ; then
55 echo RabbitMQ is currently running
60 RABBITMQ_PID_FILE=$PID_FILE $START_PROG $DAEMON \
61 > "${INIT_LOG_DIR}/startup_log" \
62 2> "${INIT_LOG_DIR}/startup_err" \
64 $CONTROL wait $PID_FILE >/dev/null 2>&1
70 if [ -n "$LOCK_FILE" ] ; then
76 echo FAILED - check ${INIT_LOG_DIR}/startup_\{log, _err\}
85 if [ $RETVAL = 0 ] ; then
87 $CONTROL stop ${PID_FILE} > ${INIT_LOG_DIR}/shutdown_log 2> ${INIT_LOG_DIR}/shutdown_err
90 if [ $RETVAL = 0 ] ; then
92 if [ -n "$LOCK_FILE" ] ; then
96 echo FAILED - check ${INIT_LOG_DIR}/shutdown_log, _err
99 echo RabbitMQ is not running
106 if [ "$1" != "quiet" ] ; then
109 $CONTROL status > /dev/null 2>&1
111 if [ $? != 0 ] ; then
117 rotate_logs_rabbitmq() {
119 $CONTROL rotate_logs ${ROTATE_SUFFIX}
120 if [ $? != 0 ] ; then
126 restart_running_rabbitmq () {
127 status_rabbitmq quiet
128 if [ $RETVAL = 0 ] ; then
131 echo RabbitMQ is not runnning
143 echo -n "Starting $DESC: "
148 echo -n "Stopping $DESC: "
156 echo -n "Rotating log files for $DESC: "
159 force-reload|reload|restart)
160 echo -n "Restarting $DESC: "
165 echo -n "Restarting $DESC: "
166 restart_running_rabbitmq
170 echo "Usage: $0 {start|stop|status|rotate-logs|restart|condrestart|try-restart|reload|force-reload}" >&2