#!/bin/sh # # rabbitmq-server RabbitMQ broker # # chkconfig: - 80 05 # description: Enable AMQP service provided by RabbitMQ # ### BEGIN INIT INFO # Provides: rabbitmq-server # Default-Start: # Default-Stop: # Required-Start: $remote_fs $network # Required-Stop: $remote_fs $network # Description: RabbitMQ broker # Short-Description: Enable AMQP service provided by RabbitMQ broker ### END INIT INFO . /etc/rc.d/init.d/functions DAEMON=rabbitmq-server NAME="RabbitMQ server" USER=rabbitmq NODE_COUNT=1 PIDFILE=/var/run/$DAEMON.pid LOCKFILE=/var/lock/subsys/$DAEMON ROTATE_SUFFIX= # Include rabbitmq defaults if available SourceIfNotEmpty /etc/sysconfig/rabbitmq-server RETVAL=0 daemon_status() { ps -C $DAEMON -o cmd= | grep -v defunct > /dev/null return $? } start() { daemon_status RETVAL=$? if [ $RETVAL -eq 0 ]; then msg_already_running "$NAME" passed echo return 1 fi start_daemon --user $USER --make-pidfile --pidfile $PIDFILE \ --displayname "$NAME" $DAEMON RETVAL=$? [ $RETVAL -eq 0 ] && touch $LOCKFILE ||\ RETVAL=1 return $RETVAL } stop() { daemon_status RETVAL=$? if [ $RETVAL -eq 1 ]; then msg_not_running "$NAME" passed echo return 1 fi msg_stopping "$NAME" rabbitmqctl stop > /dev/null RETVAL=$? if [ $RETVAL -eq 0 ]; then rabbitmqctl wait $PIDFILE &> /dev/null epmd -kill > /dev/null && success || failure else failure fi echo [ $RETVAL -eq 0 ] && rm -f $LOCKFILE && rm -f $PIDFILE sleep 0.1 return $RETVAL } restart() { stop start } status() { daemon_status RETVAL=$? if [ $RETVAL -eq 0 ]; then msg_already_running "$NAME" else msg_not_running "$NAME" fi echo return $RETVAL } rotate_logs_rabbitmq() { action "Rotating log files for $DESC: " \ "$DAEMON rotate_logs ${ROTATE_SUFFIX}" RETVAL=$? return $RETVAL } # Allow status as non-root. if [ "$1" = status ]; then status $SERVICE "$NAME" exit $? fi case "$1" in start) start ;; stop) stop ;; status) status ;; rotate-logs) rotate_logs_rabbitmq ;; force-reload|reload|restart|condreload) restart ;; condrestart|try-restart|condreload) if [ -e "$LOCKFILE" ]; then restart fi ;; condstop|try-stop) if [ -e "$LOCKFILE" ]; then stop fi ;; *) echo "Usage: $0 {start|stop|status|rotate-logs|restart|condrestart|try-restart|reload|force-reload|condstop|try-stop}" >&2 RETVAL=2 ;; esac exit $RETVAL