diff options
Diffstat (limited to 'packaging/RPMS/Fedora/init.d')
-rw-r--r-- | packaging/RPMS/Fedora/init.d | 73 |
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 |