2014-06-09 20:53:57 +08:00
|
|
|
#!/bin/sh -e
|
2011-01-19 21:53:32 +08:00
|
|
|
## The contents of this file are subject to the Mozilla Public License
|
|
|
|
## Version 1.1 (the "License"); you may not use this file except in
|
|
|
|
## compliance with the License. You may obtain a copy of the License
|
|
|
|
## at http://www.mozilla.org/MPL/
|
2009-07-22 22:48:50 +08:00
|
|
|
##
|
2011-01-19 21:53:32 +08:00
|
|
|
## Software distributed under the License is distributed on an "AS IS"
|
|
|
|
## basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
|
|
|
|
## the License for the specific language governing rights and
|
|
|
|
## limitations under the License.
|
2009-07-22 22:48:50 +08:00
|
|
|
##
|
2011-01-19 21:53:32 +08:00
|
|
|
## The Original Code is RabbitMQ.
|
2009-07-22 22:48:50 +08:00
|
|
|
##
|
2013-07-01 17:49:14 +08:00
|
|
|
## The Initial Developer of the Original Code is GoPivotal, Inc.
|
2014-03-18 01:25:24 +08:00
|
|
|
## Copyright (c) 2007-2014 GoPivotal, Inc. All rights reserved.
|
2009-07-22 22:48:50 +08:00
|
|
|
##
|
|
|
|
|
2014-06-23 23:54:49 +08:00
|
|
|
# We set +e here since since our test for "readlink -f" below needs to
|
|
|
|
# be able to fail.
|
2014-06-23 22:41:59 +08:00
|
|
|
set +e
|
2012-03-01 19:59:18 +08:00
|
|
|
# Determine where this script is really located (if this script is
|
|
|
|
# invoked from another script, this is the location of the caller)
|
2009-07-29 16:42:51 +08:00
|
|
|
SCRIPT_PATH="$0"
|
|
|
|
while [ -h "$SCRIPT_PATH" ] ; do
|
2014-06-23 23:54:49 +08:00
|
|
|
# Determine if readlink -f is supported at all. TODO clean this up.
|
2009-08-03 20:48:58 +08:00
|
|
|
FULL_PATH=`readlink -f $SCRIPT_PATH 2>/dev/null`
|
|
|
|
if [ "$?" != "0" ]; then
|
|
|
|
REL_PATH=`readlink $SCRIPT_PATH`
|
|
|
|
if expr "$REL_PATH" : '/.*' > /dev/null; then
|
2009-08-18 00:25:32 +08:00
|
|
|
SCRIPT_PATH="$REL_PATH"
|
2009-08-03 20:48:58 +08:00
|
|
|
else
|
|
|
|
SCRIPT_PATH="`dirname "$SCRIPT_PATH"`/$REL_PATH"
|
|
|
|
fi
|
2009-07-29 16:42:51 +08:00
|
|
|
else
|
2009-08-03 20:48:58 +08:00
|
|
|
SCRIPT_PATH=$FULL_PATH
|
2009-07-29 16:42:51 +08:00
|
|
|
fi
|
|
|
|
done
|
2014-06-23 22:41:59 +08:00
|
|
|
set -e
|
2009-07-29 19:50:02 +08:00
|
|
|
|
2009-07-29 16:42:51 +08:00
|
|
|
SCRIPT_DIR=`dirname $SCRIPT_PATH`
|
2009-07-29 19:50:02 +08:00
|
|
|
RABBITMQ_HOME="${SCRIPT_DIR}/.."
|
2010-11-20 00:50:38 +08:00
|
|
|
[ "x" = "x$HOSTNAME" ] && HOSTNAME=`env hostname`
|
|
|
|
NODENAME=rabbit@${HOSTNAME%%.*}
|
2009-07-29 16:42:51 +08:00
|
|
|
|
2012-02-28 18:56:15 +08:00
|
|
|
## Set defaults
|
|
|
|
. ${SCRIPT_DIR}/rabbitmq-defaults
|
|
|
|
|
|
|
|
## Common defaults
|
|
|
|
SERVER_ERL_ARGS="+K true +A30 +P 1048576 \
|
|
|
|
-kernel inet_default_connect_options [{nodelay,true}]"
|
2012-01-04 23:57:19 +08:00
|
|
|
|
2012-02-24 19:19:00 +08:00
|
|
|
# warn about old rabbitmq.conf file, if no new one
|
|
|
|
if [ -f /etc/rabbitmq/rabbitmq.conf ] && \
|
2012-02-10 17:56:49 +08:00
|
|
|
[ ! -f ${CONF_ENV_FILE} ] ; then
|
2012-02-24 19:19:00 +08:00
|
|
|
echo -n "WARNING: ignoring /etc/rabbitmq/rabbitmq.conf -- "
|
2012-02-10 17:56:49 +08:00
|
|
|
echo "location has moved to ${CONF_ENV_FILE}"
|
2011-02-03 02:12:45 +08:00
|
|
|
fi
|
2012-02-24 19:19:00 +08:00
|
|
|
|
|
|
|
## Get configuration variables from the configure environment file
|
2014-06-09 21:34:53 +08:00
|
|
|
[ -f ${CONF_ENV_FILE} ] && . ${CONF_ENV_FILE} || true
|
2014-07-03 19:08:05 +08:00
|
|
|
|
|
|
|
##--- Set environment vars RABBITMQ_<var_name> to defaults if not set
|
|
|
|
|
|
|
|
DEFAULT_NODE_IP_ADDRESS=auto
|
|
|
|
DEFAULT_NODE_PORT=5672
|
|
|
|
[ "x" = "x$RABBITMQ_NODE_IP_ADDRESS" ] && RABBITMQ_NODE_IP_ADDRESS=${NODE_IP_ADDRESS}
|
|
|
|
[ "x" = "x$RABBITMQ_NODE_PORT" ] && RABBITMQ_NODE_PORT=${NODE_PORT}
|
|
|
|
|
|
|
|
[ "x" = "x$RABBITMQ_NODE_IP_ADDRESS" ] && [ "x" != "x$RABBITMQ_NODE_PORT" ] && RABBITMQ_NODE_IP_ADDRESS=${DEFAULT_NODE_IP_ADDRESS}
|
|
|
|
[ "x" != "x$RABBITMQ_NODE_IP_ADDRESS" ] && [ "x" = "x$RABBITMQ_NODE_PORT" ] && RABBITMQ_NODE_PORT=${DEFAULT_NODE_PORT}
|
|
|
|
|
|
|
|
[ "x" = "x$RABBITMQ_DIST_PORT" ] && RABBITMQ_DIST_PORT=${DIST_PORT}
|
|
|
|
[ "x" = "x$RABBITMQ_DIST_PORT" ] && [ "x" = "x$RABBITMQ_NODE_PORT" ] && RABBITMQ_DIST_PORT=$((${DEFAULT_NODE_PORT} + 20000))
|
|
|
|
[ "x" = "x$RABBITMQ_DIST_PORT" ] && [ "x" != "x$RABBITMQ_NODE_PORT" ] && RABBITMQ_DIST_PORT=$((${RABBITMQ_NODE_PORT} + 20000))
|
|
|
|
|
|
|
|
[ "x" = "x$RABBITMQ_NODENAME" ] && RABBITMQ_NODENAME=${NODENAME}
|
|
|
|
[ "x" = "x$RABBITMQ_SERVER_ERL_ARGS" ] && RABBITMQ_SERVER_ERL_ARGS=${SERVER_ERL_ARGS}
|
|
|
|
[ "x" = "x$RABBITMQ_CONFIG_FILE" ] && RABBITMQ_CONFIG_FILE=${CONFIG_FILE}
|
|
|
|
[ "x" = "x$RABBITMQ_LOG_BASE" ] && RABBITMQ_LOG_BASE=${LOG_BASE}
|
|
|
|
[ "x" = "x$RABBITMQ_MNESIA_BASE" ] && RABBITMQ_MNESIA_BASE=${MNESIA_BASE}
|
|
|
|
[ "x" = "x$RABBITMQ_SERVER_START_ARGS" ] && RABBITMQ_SERVER_START_ARGS=${SERVER_START_ARGS}
|
|
|
|
[ "x" = "x$RABBITMQ_SERVER_ADDITIONAL_ERL_ARGS" ] && RABBITMQ_SERVER_ADDITIONAL_ERL_ARGS=${SERVER_ADDITIONAL_ERL_ARGS}
|
|
|
|
[ "x" = "x$RABBITMQ_MNESIA_DIR" ] && RABBITMQ_MNESIA_DIR=${MNESIA_DIR}
|
|
|
|
[ "x" = "x$RABBITMQ_MNESIA_DIR" ] && RABBITMQ_MNESIA_DIR=${RABBITMQ_MNESIA_BASE}/${RABBITMQ_NODENAME}
|
|
|
|
|
|
|
|
[ "x" = "x$RABBITMQ_PID_FILE" ] && RABBITMQ_PID_FILE=${PID_FILE}
|
|
|
|
[ "x" = "x$RABBITMQ_PID_FILE" ] && RABBITMQ_PID_FILE=${RABBITMQ_MNESIA_DIR}.pid
|
|
|
|
|
|
|
|
[ "x" = "x$RABBITMQ_PLUGINS_EXPAND_DIR" ] && RABBITMQ_PLUGINS_EXPAND_DIR=${PLUGINS_EXPAND_DIR}
|
|
|
|
[ "x" = "x$RABBITMQ_PLUGINS_EXPAND_DIR" ] && RABBITMQ_PLUGINS_EXPAND_DIR=${RABBITMQ_MNESIA_BASE}/${RABBITMQ_NODENAME}-plugins-expand
|
|
|
|
|
|
|
|
[ "x" = "x$RABBITMQ_ENABLED_PLUGINS_FILE" ] && RABBITMQ_ENABLED_PLUGINS_FILE=${ENABLED_PLUGINS_FILE}
|
|
|
|
|
|
|
|
[ "x" = "x$RABBITMQ_PLUGINS_DIR" ] && RABBITMQ_PLUGINS_DIR=${PLUGINS_DIR}
|
|
|
|
|
|
|
|
## Log rotation
|
|
|
|
[ "x" = "x$RABBITMQ_LOGS" ] && RABBITMQ_LOGS=${LOGS}
|
|
|
|
[ "x" = "x$RABBITMQ_LOGS" ] && RABBITMQ_LOGS="${RABBITMQ_LOG_BASE}/${RABBITMQ_NODENAME}.log"
|
|
|
|
[ "x" = "x$RABBITMQ_SASL_LOGS" ] && RABBITMQ_SASL_LOGS=${SASL_LOGS}
|
|
|
|
[ "x" = "x$RABBITMQ_SASL_LOGS" ] && RABBITMQ_SASL_LOGS="${RABBITMQ_LOG_BASE}/${RABBITMQ_NODENAME}-sasl.log"
|
|
|
|
|
|
|
|
[ "x" = "x$RABBITMQ_CTL_ERL_ARGS" ] && RABBITMQ_CTL_ERL_ARGS=${CTL_ERL_ARGS}
|
|
|
|
|
|
|
|
##--- End of overridden <var_name> variables
|