-
-
Save fanyeren/17ed2d0877fee81814be to your computer and use it in GitHub Desktop.
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 | |
$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 | |
$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 | |
$CONTROL status 2>&1 | |
else | |
$CONTROL status > /dev/null 2>&1 | |
fi | |
if [ $? != 0 ] ; then | |
RETVAL=3 | |
fi | |
set -e | |
} | |
rotate_logs_rabbitmq() { | |
set +e | |
$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