summaryrefslogtreecommitdiff
path: root/packaging/RPMS/Fedora/init.d
diff options
context:
space:
mode:
Diffstat (limited to 'packaging/RPMS/Fedora/init.d')
-rw-r--r--packaging/RPMS/Fedora/init.d73
1 files changed, 54 insertions, 19 deletions
diff --git a/packaging/RPMS/Fedora/init.d b/packaging/RPMS/Fedora/init.d
index 09ca02c9..a7e6b98c 100644
--- a/packaging/RPMS/Fedora/init.d
+++ b/packaging/RPMS/Fedora/init.d
@@ -1,57 +1,87 @@
#!/bin/sh
+#
+# rabbitmq-server RabbitMQ broker
+#
+#chkconfig: 2345 80 05
+#description: Enable AMQP service provided by RabbitMQ
+#
+
### BEGIN INIT INFO
# Provides: rabbitmq
# Required-Start: $remote_fs $network
# Required-Stop: $remote_fs $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
+# Description: RabbitMQ broker
+# Short-Description: Enable AMQP service provided by RabbitMQ broker
### END INIT INFO
-#chkconfig: 2345 80 05
-#description: RabbitMQ Server
-
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
-DAEMON=/usr/sbin/rabbitmq-multi
+DAEMON_NAME=rabbitmq-multi
+DAEMON=/usr/sbin/$DAEMON_NAME
NAME=rabbitmq-server
DESC=rabbitmq-server
USER=rabbitmq
NODE_COUNT=1
+LOCK_FILE=/var/lock/subsys/$NAME
+
test -x $DAEMON || exit 0
+# source function library
+. /etc/rc.d/init.d/functions
+
# Include rabbitmq defaults if available
if [ -f /etc/default/rabbitmq ] ; then
. /etc/default/rabbitmq
fi
+RETVAL=0
set -e
cd /
start_rabbitmq () {
set +e
- su rabbitmq -s /bin/sh -c "$DAEMON start_all ${NODE_COUNT}" > /var/log/rabbitmq/startup.log 2> /var/log/rabbitmq/startup.err
+ 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;;
+ echo SUCCESS && touch $LOCK_FILE
+ ;;
1)
- echo TIMEOUT - check /var/log/rabbitmq/startup.\{log,err\};;
+ echo TIMEOUT - check /var/log/rabbitmq/startup.\{log,err\}
+ ;;
*)
echo FAILED - check /var/log/rabbitmq/startup.log, .err
- exit 1;;
+ RETVAL=1;;
esac
set -e
}
stop_rabbitmq () {
set +e
- su rabbitmq -s /bin/sh -c "$DAEMON stop_all" > /var/log/rabbitmq/shutdown.log 2> /var/log/rabbitmq/shutdown.err
+ 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
- exit 0
+ RETVAL=$?
+ else
+ rm -rf $LOCK_FILE
+ RETVAL=0
fi
set -e
}
+status_rabbitmq () {
+ status $NAME
+}
+
+restart_rabbitmq () {
+ echo -n "Restarting $DESC: "
+ stop_rabbitmq
+ start_rabbitmq
+ echo "$NAME."
+}
+
case "$1" in
start)
echo -n "Starting $DESC: "
@@ -63,17 +93,22 @@ case "$1" in
stop_rabbitmq
echo "$NAME."
;;
- force-reload|restart)
- echo -n "Restarting $DESC: "
- stop_rabbitmq
- start_rabbitmq
- echo "$NAME."
+ 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
+ ;;
*)
- N=/etc/init.d/$NAME
- echo "Usage: $N {start|stop|restart|force-reload}" >&2
- exit 1
+ echo "Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}" >&2
+ RETVAL=1
;;
esac
-exit 0
+exit $RETVAL