]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/platforms/ubuntu/bacula-sd.in
Allow custom variables and checks from debian/ubuntu startup scripts
[bacula/bacula] / bacula / platforms / ubuntu / bacula-sd.in
index 1f54405a88ab46de9109cdc7f356ce02d58fb4a6..e778ea961333b6f28240c3806787de45193837f6 100644 (file)
@@ -9,6 +9,17 @@
 #  For Bacula release @VERSION@ (@DATE@) -- @DISTNAME@
 #
 
+### BEGIN INIT INFO
+# Provides:            bacula-sdr
+# Required-Start:      $local_fs $remote_fs $network $time
+# Required-Stop:       $local_fs $remote_fs $network $time
+# Default-Start:       2 3 4 5
+# Default-Stop:        0 1 6
+# Short-Description:   Bacula Storage Daemon
+# Description:         Bacula is a network backup and restore program
+### END INIT INFO
+
+
 NAME="bacula-sd"
 DESC="Bacula Storage Daemon"
 DAEMON=@sbindir@/${NAME}
@@ -31,24 +42,31 @@ if [ -n "`getent services ${NAME}`" ]; then
    BPORT=`getent services ${NAME} | awk '{ gsub("/tcp","",$2); print $2; }'`
 fi
 
+if [ -f /etc/default/$NAME ]; then
+   . /etc/default/$NAME
+fi
+
+mkdir -p @piddir@
 PIDFILE=@piddir@/${NAME}.${BPORT}.pid
 
 if [ "x${BUSER}" != "x" ]; then
-   BOPTIONS="${BOPTIONS} -u ${BUSER}"
-fi
-if [ "x${BGROUP}" != "x" ]; then
-   BOPTIONS="${BOPTIONS} -g ${BGROUP}"
+   USERGRP="--chuid ${BUSER}"
+   if [ "x${BGROUP}" != "x" ]; then
+      USERGRP="${USERGRP}:${BGROUP}"
+   fi
 fi
 
 case "$1" in
    start)
       echo -n "Starting ${DESC}: "
-      start-stop-daemon --start --quiet --pidfile ${PIDFILE} --exec ${DAEMON} -- ${BOPTIONS}
+      start-stop-daemon --start --quiet --pidfile ${PIDFILE} ${USERGRP} --exec ${DAEMON} -- ${BOPTIONS}
+      RETVAL=$?
       echo "${NAME}"
       ;;
    stop)
       echo -n "Stopping ${DESC}: "
-      start-stop-daemon --oknodo --stop --quiet --exec ${DAEMON} -- ${BOPTIONS}
+      start-stop-daemon --oknodo --stop --quiet ${USERGRP} --exec ${DAEMON} -- ${BOPTIONS}
+      RETVAL=$?
       echo "${NAME}"
       ;;
    restart|force-reload)
@@ -61,4 +79,4 @@ case "$1" in
       exit 1
       ;;
 esac
-exit 0
+exit $RETVAL