-#! /bin/sh
+#!/bin/sh
#
-# bacula This shell script takes care of starting and stopping
-# the bacula File daemon.
+# bacula This shell script takes care of starting and stopping
+# the bacula File daemon.
#
-# chkconfig: 2345 91 99
+# chkconfig: 2345 91 09
# description: It comes by night and sucks the vital essence from your computers.
#
# Source function library
. /etc/rc.d/init.d/functions
+BACULA_FD_USER="bacula"
+BACULA_FD_GROUP="bacula"
+BACULA_FD_OPTIONS=""
+[ -f /etc/sysconfig/bacula-fd ] && . /etc/sysconfig/bacula-fd
+
+start() {
+ # Check if the service is already running?
+ if [ -f /var/lock/subsys/bacula-fd ]; then
+ msg_already_running "Bacula File"
+ return
+ fi
+
+ msg_starting "Bacula File"
+ daemon /usr/sbin/bacula-fd -u "$BACULA_FD_USER" -g "$BACULA_FD_GROUP" -c /etc/bacula/bacula-fd.conf $BACULA_FD_OPTIONS
+ RETVAL=$?
+ [ $RETVAL -eq 0 ] && touch /var/lock/subsys/bacula-fd
+}
+
+stop() {
+ if [ ! -f /var/lock/subsys/bacula-fd ]; then
+ msg_not_running "Bacula File"
+ return
+ fi
+
+ # Stop daemons.
+ msg_stopping "Bacula File"
+ killproc /usr/sbin/bacula-fd
+ rm -f /var/lock/subsys/bacula-fd
+}
+
+condrestart() {
+ if [ ! -f /var/lock/subsys/bacula-fd ]; then
+ msg_not_running "Bacula File"
+ RETVAL=$1
+ return
+ fi
+
+ stop
+ start
+}
+
case "$1" in
- start)
- msg_starting "Bacula File daemon"
- daemon /usr/sbin/bacula-fd $2 -c /etc/bacula/bacula-fd.conf
- RETVAL=$?
- [ $RETVAL -eq 0 ] && touch /var/lock/subsys/bacula-fd
- ;;
- stop)
- msg_stopping "Bacula File daemon"
- killproc /usr/sbin/bacula-fd
- RETVAL=$?
- echo
- [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/bacula-fd
- ;;
- restart)
- $0 stop && sleep 5
- $0 start
- RETVAL=$?
- ;;
- status)
- status /usr/sbin/bacula-fd
- ;;
- *)
- echo "Usage: $0 {start|stop|restart|status}"
- exit 1
- ;;
+ start)
+ start
+ ;;
+ stop)
+ stop
+ ;;
+ restart)
+ stop
+ sleep 5
+ start
+ ;;
+ try-restart)
+ condrestart 0
+ ;;
+ force-reload)
+ condrestart 7
+ ;;
+ status)
+ status bacula-fd
+ RETVAL=$?
+ ;;
+*)
+ msg_usage "$0 {start|stop|restart|try-restart|force-reload|status}"
+ exit 3
+ ;;
esac
exit $RETVAL