Added status command to rabbit_mutli, init.d scripts
now use that command. Used status command in init.d scripts to check if the server is running before stopping it. Fixed various indentation problems in init.d scripts. Synchronized the init.d in Debian and RPM to behave in a similar way.
This commit is contained in:
parent
131d39c9cb
commit
8f209a026e
|
|
@ -23,6 +23,9 @@ start_all I<count>
|
|||
start count nodes with unique names, listening on all IP addresses
|
||||
and on sequential ports starting from 5672.
|
||||
|
||||
status
|
||||
print the status of all running RabbitMQ nodes
|
||||
|
||||
stop_all
|
||||
stop all local RabbitMQ nodes
|
||||
|
||||
|
|
|
|||
|
|
@ -47,40 +47,49 @@ start_rabbitmq () {
|
|||
case "$?" in
|
||||
0)
|
||||
echo SUCCESS && touch $LOCK_FILE
|
||||
RETVAL=0
|
||||
;;
|
||||
1)
|
||||
echo TIMEOUT - check /var/log/rabbitmq/startup_\{log,err\}
|
||||
RETVAL=1
|
||||
;;
|
||||
*)
|
||||
echo FAILED - check /var/log/rabbitmq/startup_log, _err
|
||||
RETVAL=1;;
|
||||
RETVAL=1
|
||||
;;
|
||||
esac
|
||||
set -e
|
||||
}
|
||||
|
||||
stop_rabbitmq () {
|
||||
set +e
|
||||
su $USER -s /bin/sh -c "$DAEMON stop_all" > /var/log/rabbitmq/shutdown_log 2> /var/log/rabbitmq/shutdown_err
|
||||
|
||||
if [ $? != 0 ] ; then
|
||||
echo FAILED - check /var/log/rabbitmq/shutdown_log, _err
|
||||
status_rabbitmq quiet
|
||||
if [ $RETVAL == 0 ] ; then
|
||||
su $USER -s /bin/sh -c "$DAEMON stop_all" > /var/log/rabbitmq/shutdown_log 2> /var/log/rabbitmq/shutdown_err
|
||||
RETVAL=$?
|
||||
if [ $RETVAL != 0 ] ; then
|
||||
echo FAILED - check /var/log/rabbitmq/shutdown_log, _err
|
||||
else
|
||||
rm -rf $LOCK_FILE
|
||||
fi
|
||||
else
|
||||
rm -rf $LOCK_FILE
|
||||
echo No nodes running
|
||||
RETVAL=0
|
||||
fi
|
||||
set -e
|
||||
}
|
||||
|
||||
status_rabbitmq () {
|
||||
status $NAME
|
||||
}
|
||||
|
||||
restart_rabbitmq () {
|
||||
echo -n "Restarting $DESC: "
|
||||
stop_rabbitmq
|
||||
start_rabbitmq
|
||||
echo "$NAME."
|
||||
status_rabbitmq() {
|
||||
set +e
|
||||
if [ "$1" != "quiet" ] ; then
|
||||
su $USER -s /bin/sh -c "$DAEMON status" 2>&1
|
||||
else
|
||||
su $USER -s /bin/sh -c "$DAEMON status" > /dev/null 2>&1
|
||||
fi
|
||||
if [ $? != 0 ] ; then
|
||||
RETVAL=1
|
||||
fi
|
||||
set -e
|
||||
}
|
||||
|
||||
rotate_logs_rabbitmq() {
|
||||
|
|
@ -89,37 +98,43 @@ rotate_logs_rabbitmq() {
|
|||
set -e
|
||||
}
|
||||
|
||||
restart_rabbitmq() {
|
||||
stop_rabbitmq
|
||||
start_rabbitmq
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
echo -n "Starting $DESC: "
|
||||
start_rabbitmq
|
||||
echo "$NAME."
|
||||
;;
|
||||
stop)
|
||||
echo -n "Stopping $DESC: "
|
||||
stop_rabbitmq
|
||||
echo "$NAME."
|
||||
;;
|
||||
rotate-logs)
|
||||
echo -n "Rotating log files for $DESC: "
|
||||
rotate_logs_rabbitmq
|
||||
;;
|
||||
force-reload|reload|restart)
|
||||
restart_rabbitmq
|
||||
;;
|
||||
status)
|
||||
echo "Status of $DESC: "
|
||||
status_rabbitmq
|
||||
RETVAL=$?
|
||||
;;
|
||||
condrestart|try-restart)
|
||||
status_rabbitmq >/dev/null 2>&1 || exit 0
|
||||
restart_rabbitmq
|
||||
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."
|
||||
;;
|
||||
condrestart|try-restart)
|
||||
echo -n "Restarting $DESC: "
|
||||
restart_rabbitmq
|
||||
echo "$NAME."
|
||||
;;
|
||||
*)
|
||||
echo "Usage: $0 {start|stop|status|rotate-logs|restart|condrestart|try-restart|reload|force-reload}" >&2
|
||||
RETVAL=1
|
||||
;;
|
||||
*)
|
||||
echo "Usage: $0 {start|stop|rotate-logs|status|restart|condrestart|try-restart|reload|force-reload}" >&2
|
||||
RETVAL=1
|
||||
;;
|
||||
esac
|
||||
|
||||
exit $RETVAL
|
||||
|
|
|
|||
|
|
@ -29,26 +29,50 @@ set -e
|
|||
cd /
|
||||
|
||||
start_rabbitmq () {
|
||||
set +e
|
||||
su $USER -s /bin/sh -c "$DAEMON start_all ${NODE_COUNT}" > /var/log/rabbitmq/startup_log 2> /var/log/rabbitmq/startup_err
|
||||
case "$?" in
|
||||
0)
|
||||
echo SUCCESS;;
|
||||
1)
|
||||
echo TIMEOUT - check /var/log/rabbitmq/startup_\{log,err\};;
|
||||
*)
|
||||
echo FAILED - check /var/log/rabbitmq/startup_log, _err
|
||||
exit 1;;
|
||||
esac
|
||||
set -e
|
||||
set +e
|
||||
su $USER -s /bin/sh -c "$DAEMON start_all ${NODE_COUNT}" > /var/log/rabbitmq/startup_log 2> /var/log/rabbitmq/startup_err
|
||||
case "$?" in
|
||||
0)
|
||||
echo SUCCESS
|
||||
RETVAL=0
|
||||
;;
|
||||
1)
|
||||
echo TIMEOUT - check /var/log/rabbitmq/startup_\{log,err\}
|
||||
RETVAL=1
|
||||
;;
|
||||
*)
|
||||
echo FAILED - check /var/log/rabbitmq/startup_log, _err
|
||||
RETVAL=1
|
||||
;;
|
||||
esac
|
||||
set -e
|
||||
}
|
||||
|
||||
stop_rabbitmq () {
|
||||
set +e
|
||||
su $USER -s /bin/sh -c "$DAEMON stop_all" > /var/log/rabbitmq/shutdown_log 2> /var/log/rabbitmq/shutdown_err
|
||||
status_rabbitmq quiet
|
||||
if [ $RETVAL == 0 ] ; then
|
||||
su $USER -s /bin/sh -c "$DAEMON stop_all" > /var/log/rabbitmq/shutdown_log 2> /var/log/rabbitmq/shutdown_err
|
||||
RETVAL=$?
|
||||
if [ $RETVAL != 0 ] ; then
|
||||
echo FAILED - check /var/log/rabbitmq/shutdown_log, _err
|
||||
fi
|
||||
else
|
||||
echo No nodes running
|
||||
RETVAL=0
|
||||
fi
|
||||
set -e
|
||||
}
|
||||
|
||||
status_rabbitmq() {
|
||||
set +e
|
||||
if [ "$1" != "quiet" ] ; then
|
||||
su $USER -s /bin/sh -c "$DAEMON status" 2>&1
|
||||
else
|
||||
su $USER -s /bin/sh -c "$DAEMON status" > /dev/null 2>&1
|
||||
fi
|
||||
if [ $? != 0 ] ; then
|
||||
echo FAILED - check /var/log/rabbitmq/shutdown_log, _err
|
||||
exit 0
|
||||
RETVAL=1
|
||||
fi
|
||||
set -e
|
||||
}
|
||||
|
|
@ -57,34 +81,40 @@ rotate_logs_rabbitmq() {
|
|||
set +e
|
||||
su $USER -s /bin/sh -c "$DAEMON rotate_logs ${ROTATE_SUFFIX}" 2>&1
|
||||
set -e
|
||||
}
|
||||
|
||||
restart_rabbitmq() {
|
||||
stop_rabbitmq
|
||||
start_rabbitmq
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
echo -n "Starting $DESC: "
|
||||
start_rabbitmq
|
||||
echo "$NAME."
|
||||
;;
|
||||
stop)
|
||||
echo -n "Stopping $DESC: "
|
||||
stop_rabbitmq
|
||||
echo "$NAME."
|
||||
;;
|
||||
rotate-logs)
|
||||
echo -n "Rotating log files for $DESC: "
|
||||
rotate_logs_rabbitmq
|
||||
;;
|
||||
force-reload|restart)
|
||||
echo -n "Restarting $DESC: "
|
||||
stop_rabbitmq
|
||||
start_rabbitmq
|
||||
echo "$NAME."
|
||||
;;
|
||||
*)
|
||||
echo "Usage: $0 {start|stop|rotate-logs|restart|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|restart)
|
||||
echo -n "Restarting $DESC: "
|
||||
restart_rabbitmq
|
||||
echo "$NAME."
|
||||
;;
|
||||
*)
|
||||
echo "Usage: $0 {start|stop|status|rotate-logs|restart|force-reload}" >&2
|
||||
RETVAL=1
|
||||
;;
|
||||
esac
|
||||
|
||||
exit $RETVAL
|
||||
|
|
|
|||
|
|
@ -70,6 +70,7 @@ usage() ->
|
|||
Available commands:
|
||||
|
||||
start_all <NodeCount> - start a local cluster of RabbitMQ nodes.
|
||||
status - print status of all running nodes
|
||||
stop_all - stops all local RabbitMQ nodes.
|
||||
rotate_logs [Suffix] - rotate logs for all local and running RabbitMQ nodes.
|
||||
"),
|
||||
|
|
@ -88,6 +89,17 @@ action(start_all, [NodeCount], RpcTimeout) ->
|
|||
false -> timeout
|
||||
end;
|
||||
|
||||
action(status, [], RpcTimeout) ->
|
||||
io:format("Status of all running nodes...~n", []),
|
||||
call_all_nodes(
|
||||
fun({Node, Pid}) ->
|
||||
io:format("Node '~p' with Pid ~p: ", [Node, Pid]),
|
||||
case rpc:call(Node, rabbit, status, [], RpcTimeout) of
|
||||
{badrpc, Error} -> io:format("~p~n", [Error]);
|
||||
[{running_applications, Apps} | _] -> io:format("~p~n", [Apps])
|
||||
end
|
||||
end);
|
||||
|
||||
action(stop_all, [], RpcTimeout) ->
|
||||
io:format("Stopping all nodes...~n", []),
|
||||
call_all_nodes(fun({Node, Pid}) ->
|
||||
|
|
|
|||
Loading…
Reference in New Issue