Changeset View
Changeset View
Standalone View
Standalone View
net/rabbitmq/files/rabbitmq.in
Show All 18 Lines | |||||
# Set some defaults | # Set some defaults | ||||
: ${rabbitmq_enable="NO"} | : ${rabbitmq_enable="NO"} | ||||
: ${rabbitmq_user="rabbitmq"} | : ${rabbitmq_user="rabbitmq"} | ||||
rabbitmq_server="%%PREFIX%%/sbin/rabbitmq-server" | rabbitmq_server="%%PREFIX%%/sbin/rabbitmq-server" | ||||
rabbitmq_ctl="%%PREFIX%%/sbin/rabbitmqctl" | rabbitmq_ctl="%%PREFIX%%/sbin/rabbitmqctl" | ||||
rabbitmq_env_conf="%%PREFIX%%/etc/rabbitmq/rabbitmq-env.conf" | rabbitmq_env_conf="%%PREFIX%%/etc/rabbitmq/rabbitmq-env.conf" | ||||
pidfile="/var/run/${name}.pid" | pidfile="/var/run/${name}.pid" | ||||
daemon_pidfile="/var/run/${name}-daemon.pid" | |||||
start_cmd="${name}_start" | start_cmd="${name}_start" | ||||
stop_cmd="${name}_stop" | stop_cmd="${name}_stop" | ||||
rotate_logs_cmd="su -m ${rabbitmq_user} -c 'sh -c \"${rabbitmq_ctl} rotate_logs\"'" | rotate_logs_cmd="su -m ${rabbitmq_user} -c 'sh -c \"${rabbitmq_ctl} rotate_logs\"'" | ||||
status_cmd="su -m ${rabbitmq_user} -c 'sh -c \"${rabbitmq_ctl} status\"'" | status_cmd="su -m ${rabbitmq_user} -c 'sh -c \"${rabbitmq_ctl} status\"'" | ||||
extra_commands="rotate_logs status" | extra_commands="rotate_logs status" | ||||
# ensure scripts find erlang_cookie | |||||
export HOME=/var/db/${name} | |||||
# set defaults but allow admin to override them in rabbitmq_env_conf | |||||
: ${RABBITMQ_HOME:=/var/db/${name}} | |||||
: ${RABBITMQ_LOG_BASE:=/var/log/${name}} | : ${RABBITMQ_LOG_BASE:=/var/log/${name}} | ||||
: ${RABBITMQ_PID_FILE:=${pidfile}} | |||||
# require precise OTP version in case multiple erlangs are installed | |||||
export PATH=%%PREFIX%%/lib/%%ERLANG_LIB%%/bin:$PATH | |||||
if [ -f ${rabbitmq_env_conf} ]; then | if [ -f ${rabbitmq_env_conf} ]; then | ||||
. ${rabbitmq_env_conf} | . ${rabbitmq_env_conf} | ||||
fi | fi | ||||
export RABBITMQ_HOME=/var/db/${name} | |||||
# Prevent conflicts with amqp_client and rabbit_common applications that | # Prevent conflicts with amqp_client and rabbit_common applications that | ||||
# may be installed in ERL_LIBS. | # may be installed in ERL_LIBS. | ||||
unset ERL_LIBS | unset ERL_LIBS | ||||
rabbitmq_start() | rabbitmq_start() | ||||
{ | { | ||||
echo "Starting ${name}." | echo "Starting ${name}." | ||||
if [ -d ${RABBITMQ_HOME} ]; then | if [ -d ${RABBITMQ_HOME} ]; then | ||||
chown -R ${rabbitmq_user}:${rabbitmq_user} ${RABBITMQ_HOME} | chown -R ${rabbitmq_user}:${rabbitmq_user} ${RABBITMQ_HOME} | ||||
fi | fi | ||||
mkdir -p ${RABBITMQ_LOG_BASE} | mkdir -p ${RABBITMQ_LOG_BASE} | ||||
chown -R ${rabbitmq_user}:${rabbitmq_user} ${RABBITMQ_LOG_BASE} | chown -R ${rabbitmq_user}:${rabbitmq_user} ${RABBITMQ_LOG_BASE} | ||||
if [ -f ${RABBITMQ_HOME}/.erlang.cookie ]; then | if [ -f ${RABBITMQ_HOME}/.erlang.cookie ]; then | ||||
chmod 600 ${RABBITMQ_HOME}/.erlang.cookie | chmod 600 ${RABBITMQ_HOME}/.erlang.cookie | ||||
fi | fi | ||||
env HOME=${RABBITMQ_HOME} /usr/sbin/daemon -c -f -u ${rabbitmq_user} -p ${pidfile} -P ${daemon_pidfile} ${rabbitmq_server} | install -o ${rabbitmq_user} /dev/null ${pidfile} | ||||
debug "Running: rabbitmq-server -detached" | |||||
su -m ${rabbitmq_user} -c "${rabbitmq_server} -detached" >/dev/null 2>&1 | |||||
debug "Running: rabbitmqctl wait ${pidfile}" | debug "Running: rabbitmqctl wait ${pidfile}" | ||||
${rabbitmq_ctl} wait ${pidfile} >/dev/null 2>&1 | su -m ${rabbitmq_user} -c "${rabbitmq_ctl} wait ${pidfile}" >/dev/null 2>&1 | ||||
} | } | ||||
rabbitmq_stop() | rabbitmq_stop() | ||||
{ | { | ||||
echo "Stopping ${name}." | echo "Stopping ${name}." | ||||
if [ -f ${daemon_pidfile} ]; then | if [ -f ${pidfile} ]; then | ||||
read daemon_pid < ${daemon_pidfile} | |||||
debug "Running: ${rabbitmq_ctl} stop ${pidfile}" | debug "Running: ${rabbitmq_ctl} stop ${pidfile}" | ||||
su -m ${rabbitmq_user} -c "sh -c \"${rabbitmq_ctl} stop ${pidfile}\"" >/dev/null 2>&1 | su -m ${rabbitmq_user} -c "${rabbitmq_ctl} stop ${pidfile}" >/dev/null 2>&1 | ||||
[ -n "${daemon_pid}" ] && wait_for_pids ${daemon_pid} | |||||
else | else | ||||
debug "Running: ${rabbitmq_ctl} stop" | debug "Running: ${rabbitmq_ctl} shutdown" | ||||
su -m ${rabbitmq_user} -c "sh -c \"${rabbitmq_ctl} stop\"" >/dev/null 2>&1 | su -m ${rabbitmq_user} -c "${rabbitmq_ctl} shutdown" >/dev/null 2>&1 | ||||
fi | fi | ||||
} | } | ||||
run_rc_command "$1" | run_rc_command "$1" | ||||