#!/bin/bash -e
|
|
|
|
if [ -f /etc/default/rabbitmq ]; then
|
|
. /etc/default/rabbitmq
|
|
fi
|
|
|
|
RETVAL=0
|
|
USER=${RABBITMQ_USER-rabbitmq}
|
|
BIN_FILE=${RABBITMQ_BIN:-/usr/lib/rabbitmq/bin/rabbitmq-server}
|
|
PID_FILE=${RABBITMQ_PID:-/var/run/rabbitmq/kazoo-rabbitmq.pid}
|
|
CFG_FILE=${RABBITMQ_ENV:-/etc/kazoo/rabbitmq/rabbitmq-env.conf}
|
|
|
|
while read LINE; do
|
|
export RABBITMQ_$LINE
|
|
done < ${CFG_FILE}
|
|
|
|
if [ -f /etc/sysconfig/rabbitmq ]; then
|
|
. /etc/sysconfig/rabbitmq
|
|
fi
|
|
|
|
export HOME=${RABBITMQ_HOME-/var/lib/rabbitmq}
|
|
export RABBITMQ_CONFIG_FILE=/etc/kazoo/rabbitmq/rabbitmq
|
|
export RABBITMQ_ENABLED_PLUGINS_FILE=/etc/kazoo/rabbitmq/enabled_plugins
|
|
export RABBITMQ_NODENAME=kazoo-rabbitmq
|
|
|
|
prepare() {
|
|
rm -rf /var/lib/rabbitmq/mnesia/kazoo-rabbit*
|
|
mkdir -p ${HOME}
|
|
chown -R ${USER} ${HOME}
|
|
mkdir -p /var/log/rabbitmq
|
|
chown -R ${USER} /var/log/rabbitmq
|
|
mkdir -p /var/run/rabbitmq
|
|
chown -R ${USER} /var/run/rabbitmq
|
|
if [ -e ${PID_FILE} ]; then
|
|
rm -rf ${PID_FILE}
|
|
fi
|
|
}
|
|
|
|
start() {
|
|
cd ${HOME}
|
|
|
|
if /usr/lib/rabbitmq/bin/rabbitmqctl status > /dev/null 2>&1; then
|
|
echo "RabbitMQ is already running!"
|
|
RETVAL=1
|
|
return
|
|
fi
|
|
|
|
set -- ${BIN_FILE} "$@"
|
|
if [ "$(whoami)" == "${USER}" ]; then
|
|
exec "$@"
|
|
else
|
|
exec sudo -E -u ${USER} "$@"
|
|
fi
|
|
RETVAL=$?
|
|
|
|
if [ ${RETVAL} -ne 0 ]; then
|
|
echo "Failed to start RabbitMQ!"
|
|
RETVAL=1
|
|
fi
|
|
}
|
|
|
|
case "$1" in
|
|
prepare)
|
|
prepare
|
|
;;
|
|
background)
|
|
shift
|
|
start "-detached" $@
|
|
;;
|
|
start)
|
|
shift
|
|
start "$@"
|
|
;;
|
|
*)
|
|
exec /usr/lib/rabbitmq/bin/rabbitmqctl $@
|
|
RETVAL=$?
|
|
;;
|
|
esac
|
|
|
|
exit ${RETVAL}
|