-
-
Save lunaczp/774004eb932583a6c05a82f5971dc8e2 to your computer and use it in GitHub Desktop.
RabbitMQ 3.0 Server init.d script
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/bin/sh | |
| # | |
| # rabbitmq-server RabbitMQ broker | |
| # | |
| # chkconfig: - 80 05 | |
| # description: Enable AMQP service provided by RabbitMQ | |
| # | |
| ### BEGIN INIT INFO | |
| # Provides: rabbitmq-server | |
| # Required-Start: $remote_fs $network | |
| # Required-Stop: $remote_fs $network | |
| # Default-Start: | |
| # Default-Stop: | |
| # Description: RabbitMQ broker | |
| # Short-Description: Enable AMQP service provided by RabbitMQ broker | |
| ### END INIT INFO | |
| PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/bin:/usr/local/sbin | |
| DAEMON=/usr/local/rabbitmq/sbin/rabbitmq-server | |
| CONTROL=/usr/local/rabbitmq/sbin/rabbitmqctl | |
| DESC="RabbitMQ Server" | |
| ROTATE_SUFFIX= | |
| INIT_LOG_DIR=/usr/local/rabbitmq/var/log/rabbitmq | |
| test -x $DAEMON || exit 0 | |
| RETVAL=0 | |
| set -e | |
| start_rabbitmq () { | |
| status_rabbitmq quiet | |
| if [ $RETVAL = 0 ] ; then | |
| echo RabbitMQ is currently running | |
| else | |
| RETVAL=0 | |
| set +e | |
| su -l -s /bin/sh -c "$DAEMON -detached" > ${INIT_LOG_DIR}/startup_log 2> ${INIT_LOG_DIR}/startup_err | |
| RETVAL=$? | |
| set -e | |
| case "$RETVAL" in | |
| 0) | |
| echo SUCCESS | |
| ;; | |
| *) | |
| echo FAILED - check ${INIT_LOG_DIR}/startup_\{log, _err\} | |
| RETVAL=1 | |
| ;; | |
| esac | |
| fi | |
| } | |
| stop_rabbitmq () { | |
| status_rabbitmq quiet | |
| if [ $RETVAL = 0 ] ; then | |
| set +e | |
| su -l -s /bin/sh -c "$CONTROL stop" > ${INIT_LOG_DIR}/shutdown_log 2> ${INIT_LOG_DIR}/shutdown_err | |
| RETVAL=$? | |
| set -e | |
| if [ $RETVAL != 0 ] ; then | |
| echo FAILED - check ${INIT_LOG_DIR}/shutdown_log, _err | |
| fi | |
| else | |
| echo RabbitMQ is not running | |
| RETVAL=0 | |
| fi | |
| } | |
| status_rabbitmq() { | |
| set +e | |
| if [ "$1" != "quiet" ] ; then | |
| su -l -s /bin/sh -c "$CONTROL status" 2>&1 | |
| else | |
| su -l -s /bin/sh -c "$CONTROL status" > /dev/null 2>&1 | |
| fi | |
| if [ $? != 0 ] ; then | |
| RETVAL=3 | |
| fi | |
| set -e | |
| } | |
| rotate_logs_rabbitmq() { | |
| set +e | |
| su -l -s /bin/sh -c "$DAEMON rotate_logs ${ROTATE_SUFFIX}" | |
| if [ $? != 0 ] ; then | |
| RETVAL=1 | |
| fi | |
| set -e | |
| } | |
| restart_running_rabbitmq () { | |
| status_rabbitmq quiet | |
| if [ $RETVAL = 0 ] ; then | |
| restart_rabbitmq | |
| else | |
| echo RabbitMQ is not runnning | |
| RETVAL=0 | |
| fi | |
| } | |
| restart_rabbitmq() { | |
| stop_rabbitmq | |
| start_rabbitmq | |
| } | |
| case "$1" in | |
| start) | |
| echo -n "Starting ${DESC}: " | |
| start_rabbitmq | |
| echo "Done." | |
| ;; | |
| stop) | |
| echo -n "Stopping ${DESC}: " | |
| stop_rabbitmq | |
| echo "Done." | |
| ;; | |
| status) | |
| status_rabbitmq | |
| ;; | |
| rotate-logs) | |
| echo -n "Rotating log files for ${DESC}: " | |
| rotate_logs_rabbitmq | |
| ;; | |
| force-reload|reload|restart) | |
| echo -n "Restarting ${DESC}: " | |
| restart_rabbitmq | |
| echo "Done." | |
| ;; | |
| try-restart) | |
| echo -n "Restarting ${DESC}: " | |
| restart_running_rabbitmq | |
| echo "Done." | |
| ;; | |
| *) | |
| echo "Usage: $0 {start|stop|status|rotate-logs|restart|condrestart|try-restart|reload|force-reload}" >&2 | |
| RETVAL=1 | |
| ;; | |
| esac | |
| exit $RETVAL |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment