|
|
@ -5,188 +5,175 @@ |
|
|
# chkconfig: - 80 05 |
|
|
# chkconfig: - 80 05 |
|
|
# description: Enable AMQP service provided by RabbitMQ |
|
|
# description: Enable AMQP service provided by RabbitMQ |
|
|
# |
|
|
# |
|
|
|
|
|
|
|
|
### BEGIN INIT INFO |
|
|
|
|
|
# Provides: rabbitmq-server |
|
|
|
|
|
# Required-Start: $remote_fs $network |
|
|
|
|
|
# Required-Stop: $remote_fs $network |
|
|
|
|
|
# Description: RabbitMQ broker |
|
|
|
|
|
|
|
|
# Provides: rabbitmq-server |
|
|
|
|
|
# Required-Start: $remote_fs $network |
|
|
|
|
|
# Required-Stop: $remote_fs $network |
|
|
|
|
|
# Description: RabbitMQ broker |
|
|
# Short-Description: Enable AMQP service provided by RabbitMQ broker |
|
|
# Short-Description: Enable AMQP service provided by RabbitMQ broker |
|
|
### END INIT INFO |
|
|
|
|
|
|
|
|
|
|
|
# Source function library. |
|
|
|
|
|
. /etc/init.d/functions |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
RETVAL=0 |
|
|
PATH=/sbin:/usr/sbin:/bin:/usr/bin |
|
|
PATH=/sbin:/usr/sbin:/bin:/usr/bin |
|
|
NAME=rabbitmq-server |
|
|
NAME=rabbitmq-server |
|
|
DAEMON=/usr/sbin/${NAME} |
|
|
|
|
|
CONTROL=/usr/sbin/rabbitmqctl |
|
|
|
|
|
|
|
|
CONTROL=/usr/sbin/kazoo-rabbitmq |
|
|
DESC=rabbitmq-server |
|
|
DESC=rabbitmq-server |
|
|
USER=rabbitmq |
|
|
USER=rabbitmq |
|
|
ROTATE_SUFFIX= |
|
|
ROTATE_SUFFIX= |
|
|
INIT_LOG_DIR=/var/log/rabbitmq |
|
|
INIT_LOG_DIR=/var/log/rabbitmq |
|
|
PID_FILE=/var/run/rabbitmq/kazoo-pid |
|
|
PID_FILE=/var/run/rabbitmq/kazoo-pid |
|
|
|
|
|
|
|
|
START_PROG="daemon" |
|
|
START_PROG="daemon" |
|
|
LOCK_FILE=/var/lock/subsys/kazoo-$NAME |
|
|
LOCK_FILE=/var/lock/subsys/kazoo-$NAME |
|
|
|
|
|
|
|
|
test -x $DAEMON || exit 0 |
|
|
|
|
|
|
|
|
. /etc/init.d/functions |
|
|
|
|
|
|
|
|
test -x $CONTROL || exit 0 |
|
|
test -x $CONTROL || exit 0 |
|
|
|
|
|
|
|
|
RETVAL=0 |
|
|
|
|
|
set -e |
|
|
set -e |
|
|
|
|
|
|
|
|
while read LINE; do |
|
|
|
|
|
export RABBITMQ_$LINE |
|
|
|
|
|
done < /etc/kazoo/rabbitmq/rabbitmq-env.conf |
|
|
|
|
|
export RABBITMQ_CONFIG_FILE=/etc/kazoo/rabbitmq/rabbitmq |
|
|
|
|
|
export RABBITMQ_ENABLED_PLUGINS_FILE=/etc/kazoo/rabbitmq/enabled_plugins |
|
|
|
|
|
|
|
|
|
|
|
[ -f /etc/default/${NAME} ] && . /etc/default/${NAME} |
|
|
[ -f /etc/default/${NAME} ] && . /etc/default/${NAME} |
|
|
|
|
|
|
|
|
[ -f /etc/sysconfig/${NAME} ] && . /etc/sysconfig/${NAME} |
|
|
[ -f /etc/sysconfig/${NAME} ] && . /etc/sysconfig/${NAME} |
|
|
|
|
|
|
|
|
ensure_pid_dir () { |
|
|
ensure_pid_dir () { |
|
|
PID_DIR=`dirname ${PID_FILE}` |
|
|
|
|
|
if [ ! -d ${PID_DIR} ] ; then |
|
|
|
|
|
mkdir -p ${PID_DIR} |
|
|
|
|
|
chown -R ${USER}:${USER} ${PID_DIR} |
|
|
|
|
|
chmod 755 ${PID_DIR} |
|
|
|
|
|
fi |
|
|
|
|
|
|
|
|
PID_DIR=`dirname ${PID_FILE}` |
|
|
|
|
|
if [ ! -d ${PID_DIR} ] ; then |
|
|
|
|
|
mkdir -p ${PID_DIR} |
|
|
|
|
|
chown -R ${USER}:${USER} ${PID_DIR} |
|
|
|
|
|
chmod 755 ${PID_DIR} |
|
|
|
|
|
fi |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
remove_pid () { |
|
|
remove_pid () { |
|
|
rm -f ${PID_FILE} |
|
|
|
|
|
rmdir `dirname ${PID_FILE}` || : |
|
|
|
|
|
|
|
|
rm -f ${PID_FILE} |
|
|
|
|
|
rmdir `dirname ${PID_FILE}` || : |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
start_rabbitmq () { |
|
|
start_rabbitmq () { |
|
|
status_rabbitmq quiet |
|
|
|
|
|
if [ $RETVAL = 0 ] ; then |
|
|
|
|
|
echo RabbitMQ is currently running |
|
|
|
|
|
else |
|
|
|
|
|
RETVAL=0 |
|
|
|
|
|
# RABBIT_NOFILES_LIMIT from /etc/sysconfig/rabbitmq-server is not handled |
|
|
|
|
|
# automatically |
|
|
|
|
|
if [ "$RABBITMQ_NOFILES_LIMIT" ]; then |
|
|
|
|
|
ulimit -n $RABBITMQ_NOFILES_LIMIT |
|
|
|
|
|
|
|
|
status_rabbitmq quiet |
|
|
|
|
|
if [ $RETVAL = 0 ] ; then |
|
|
|
|
|
echo RabbitMQ is currently running |
|
|
|
|
|
else |
|
|
|
|
|
RETVAL=0 |
|
|
|
|
|
# RABBIT_NOFILES_LIMIT from /etc/sysconfig/rabbitmq-server is not handled |
|
|
|
|
|
# automatically |
|
|
|
|
|
if [ "$RABBITMQ_NOFILES_LIMIT" ]; then |
|
|
|
|
|
ulimit -n $RABBITMQ_NOFILES_LIMIT |
|
|
|
|
|
fi |
|
|
|
|
|
|
|
|
|
|
|
ensure_pid_dir |
|
|
|
|
|
set +e |
|
|
|
|
|
RABBITMQ_PID_FILE=$PID_FILE $START_PROG $CONTROL start \ |
|
|
|
|
|
> "${INIT_LOG_DIR}/startup_log" \ |
|
|
|
|
|
2> "${INIT_LOG_DIR}/startup_err" \ |
|
|
|
|
|
0<&- & |
|
|
|
|
|
$CONTROL wait $PID_FILE >/dev/null 2>&1 |
|
|
|
|
|
RETVAL=$? |
|
|
|
|
|
set -e |
|
|
|
|
|
case "$RETVAL" in |
|
|
|
|
|
0) |
|
|
|
|
|
echo SUCCESS |
|
|
|
|
|
if [ -n "$LOCK_FILE" ] ; then |
|
|
|
|
|
touch $LOCK_FILE |
|
|
|
|
|
fi |
|
|
|
|
|
;; |
|
|
|
|
|
*) |
|
|
|
|
|
remove_pid |
|
|
|
|
|
echo FAILED - check ${INIT_LOG_DIR}/startup_\{log, _err\} |
|
|
|
|
|
RETVAL=1 |
|
|
|
|
|
;; |
|
|
|
|
|
esac |
|
|
fi |
|
|
fi |
|
|
|
|
|
|
|
|
ensure_pid_dir |
|
|
|
|
|
set +e |
|
|
|
|
|
RABBITMQ_PID_FILE=$PID_FILE $START_PROG $DAEMON \ |
|
|
|
|
|
> "${INIT_LOG_DIR}/startup_log" \ |
|
|
|
|
|
2> "${INIT_LOG_DIR}/startup_err" \ |
|
|
|
|
|
0<&- & |
|
|
|
|
|
$CONTROL wait $PID_FILE >/dev/null 2>&1 |
|
|
|
|
|
RETVAL=$? |
|
|
|
|
|
set -e |
|
|
|
|
|
case "$RETVAL" in |
|
|
|
|
|
0) |
|
|
|
|
|
echo SUCCESS |
|
|
|
|
|
if [ -n "$LOCK_FILE" ] ; then |
|
|
|
|
|
touch $LOCK_FILE |
|
|
|
|
|
fi |
|
|
|
|
|
;; |
|
|
|
|
|
*) |
|
|
|
|
|
remove_pid |
|
|
|
|
|
echo FAILED - check ${INIT_LOG_DIR}/startup_\{log, _err\} |
|
|
|
|
|
RETVAL=1 |
|
|
|
|
|
;; |
|
|
|
|
|
esac |
|
|
|
|
|
fi |
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
stop_rabbitmq () { |
|
|
stop_rabbitmq () { |
|
|
status_rabbitmq quiet |
|
|
|
|
|
if [ $RETVAL = 0 ] ; then |
|
|
|
|
|
set +e |
|
|
|
|
|
$CONTROL stop ${PID_FILE} > ${INIT_LOG_DIR}/shutdown_log 2> ${INIT_LOG_DIR}/shutdown_err |
|
|
|
|
|
RETVAL=$? |
|
|
|
|
|
set -e |
|
|
|
|
|
if [ $RETVAL = 0 ] ; then |
|
|
|
|
|
remove_pid |
|
|
|
|
|
if [ -n "$LOCK_FILE" ] ; then |
|
|
|
|
|
rm -f $LOCK_FILE |
|
|
|
|
|
fi |
|
|
|
|
|
else |
|
|
|
|
|
echo FAILED - check ${INIT_LOG_DIR}/shutdown_log, _err |
|
|
|
|
|
fi |
|
|
|
|
|
else |
|
|
|
|
|
echo RabbitMQ is not running |
|
|
|
|
|
RETVAL=0 |
|
|
|
|
|
fi |
|
|
|
|
|
|
|
|
status_rabbitmq quiet |
|
|
|
|
|
if [ $RETVAL = 0 ] ; then |
|
|
|
|
|
set +e |
|
|
|
|
|
$CONTROL stop ${PID_FILE} > ${INIT_LOG_DIR}/shutdown_log 2> ${INIT_LOG_DIR}/shutdown_err |
|
|
|
|
|
RETVAL=$? |
|
|
|
|
|
set -e |
|
|
|
|
|
if [ $RETVAL = 0 ] ; then |
|
|
|
|
|
remove_pid |
|
|
|
|
|
if [ -n "$LOCK_FILE" ] ; then |
|
|
|
|
|
rm -f $LOCK_FILE |
|
|
|
|
|
fi |
|
|
|
|
|
else |
|
|
|
|
|
echo FAILED - check ${INIT_LOG_DIR}/shutdown_log, _err |
|
|
|
|
|
fi |
|
|
|
|
|
else |
|
|
|
|
|
echo RabbitMQ is not running |
|
|
|
|
|
RETVAL=0 |
|
|
|
|
|
fi |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
status_rabbitmq() { |
|
|
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 |
|
|
|
|
|
|
|
|
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() { |
|
|
rotate_logs_rabbitmq() { |
|
|
set +e |
|
|
|
|
|
$CONTROL rotate_logs ${ROTATE_SUFFIX} |
|
|
|
|
|
if [ $? != 0 ] ; then |
|
|
|
|
|
RETVAL=1 |
|
|
|
|
|
fi |
|
|
|
|
|
set -e |
|
|
|
|
|
|
|
|
set +e |
|
|
|
|
|
$CONTROL rotate_logs ${ROTATE_SUFFIX} |
|
|
|
|
|
if [ $? != 0 ] ; then |
|
|
|
|
|
RETVAL=1 |
|
|
|
|
|
fi |
|
|
|
|
|
set -e |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
restart_running_rabbitmq () { |
|
|
restart_running_rabbitmq () { |
|
|
status_rabbitmq quiet |
|
|
|
|
|
if [ $RETVAL = 0 ] ; then |
|
|
|
|
|
restart_rabbitmq |
|
|
|
|
|
else |
|
|
|
|
|
echo RabbitMQ is not runnning |
|
|
|
|
|
RETVAL=0 |
|
|
|
|
|
fi |
|
|
|
|
|
|
|
|
status_rabbitmq quiet |
|
|
|
|
|
if [ $RETVAL = 0 ] ; then |
|
|
|
|
|
restart_rabbitmq |
|
|
|
|
|
else |
|
|
|
|
|
echo RabbitMQ is not runnning |
|
|
|
|
|
RETVAL=0 |
|
|
|
|
|
fi |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
restart_rabbitmq() { |
|
|
restart_rabbitmq() { |
|
|
stop_rabbitmq |
|
|
|
|
|
start_rabbitmq |
|
|
|
|
|
|
|
|
stop_rabbitmq |
|
|
|
|
|
start_rabbitmq |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
case "$1" in |
|
|
case "$1" in |
|
|
start) |
|
|
|
|
|
echo -n "Starting $DESC: " |
|
|
|
|
|
start_rabbitmq |
|
|
|
|
|
echo "$NAME." |
|
|
|
|
|
;; |
|
|
|
|
|
stop) |
|
|
|
|
|
echo -n "Stopping $DESC: " |
|
|
|
|
|
stop_rabbitmq |
|
|
|
|
|
echo "$NAME." |
|
|
|
|
|
;; |
|
|
|
|
|
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 "$NAME." |
|
|
|
|
|
;; |
|
|
|
|
|
try-restart) |
|
|
|
|
|
echo -n "Restarting $DESC: " |
|
|
|
|
|
restart_running_rabbitmq |
|
|
|
|
|
echo "$NAME." |
|
|
|
|
|
;; |
|
|
|
|
|
*) |
|
|
|
|
|
echo "Usage: $0 {start|stop|status|rotate-logs|restart|condrestart|try-restart|reload|force-reload}" >&2 |
|
|
|
|
|
RETVAL=1 |
|
|
|
|
|
;; |
|
|
|
|
|
|
|
|
start) |
|
|
|
|
|
echo -n "Starting $DESC: " |
|
|
|
|
|
start_rabbitmq |
|
|
|
|
|
echo "$NAME." |
|
|
|
|
|
;; |
|
|
|
|
|
stop) |
|
|
|
|
|
echo -n "Stopping $DESC: " |
|
|
|
|
|
stop_rabbitmq |
|
|
|
|
|
echo "$NAME." |
|
|
|
|
|
;; |
|
|
|
|
|
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 "$NAME." |
|
|
|
|
|
;; |
|
|
|
|
|
try-restart) |
|
|
|
|
|
echo -n "Restarting $DESC: " |
|
|
|
|
|
restart_running_rabbitmq |
|
|
|
|
|
echo "$NAME." |
|
|
|
|
|
;; |
|
|
|
|
|
*) |
|
|
|
|
|
echo "Usage: $0 {start|stop|status|rotate-logs|restart|condrestart|try-restart|reload|force-reload}" >&2 |
|
|
|
|
|
RETVAL=1 |
|
|
|
|
|
;; |
|
|
esac |
|
|
esac |
|
|
|
|
|
|
|
|
exit $RETVAL |
|
|
exit $RETVAL |