#! /bin/sh
#
+# Bacula(R) - The Network Backup Solution
+#
+# Copyright (C) 2000-2016 Kern Sibbald
+#
+# The original author of Bacula is Kern Sibbald, with contributions
+# from many others, a complete list can be found in the file AUTHORS.
+#
+# You may use this file and others of this release according to the
+# license defined in the LICENSE file, which includes the Affero General
+# Public License, v3.0 ("AGPLv3") and some additional permissions and
+# terms pursuant to its AGPLv3 Section 7.
+#
+# This notice must be preserved when any source code is
+# conveyed and/or propagated.
+#
+# Bacula(R) is a registered trademark of Kern Sibbald.
+#
# bacula-ctl-sd This shell script takes care of starting and stopping
# the bacula Storage daemon
#
# This is pretty much watered down version of the RedHat script
# that works on Solaris as well as Linux, but it won't work everywhere.
#
-# description: It comes by night and sucks the vital essence from your computers.
+# description: The Leading Open Source Backup Solution.
#
PSCMD="@PSCMD@"
SD_USER=@sd_user@
SD_GROUP=@sd_group@
-
+Bacula="@BACULA@"
PIDOF=@PIDOF@
# A function to stop a program.
# Kill it.
if [ "$pid" != "" ] ; then
if [ "$notset" = "1" ] ; then
- if ${PS} -p $pid>/dev/null 2>&1; then
+ if ${PS} -p "$pid">/dev/null 2>&1; then
# TERM first, then KILL if not dead
kill -TERM $pid 2>/dev/null
sleep 1
- if ${PS} -p $pid >/dev/null 2>&1 ; then
+ if ${PS} -p "$pid" >/dev/null 2>&1 ; then
sleep 1
- if ${PS} -p $pid >/dev/null 2>&1 ; then
+ if ${PS} -p "$pid" >/dev/null 2>&1 ; then
sleep 3
- if ${PS} -p $pid >/dev/null 2>&1 ; then
+ if ${PS} -p "$pid" >/dev/null 2>&1 ; then
kill -KILL $pid 2>/dev/null
fi
fi
fi
fi
- ${PS} -p $pid >/dev/null 2>&1
+ ${PS} -p "$pid" >/dev/null 2>&1
RC=$?
[ $RC -eq 0 ] && failure "$base shutdown" || success "$base shutdown"
# RC=$((! $RC))
# use specified level only
else
- if ${PS} -p $pid >/dev/null 2>&1; then
+ if ${PS} -p "$pid" >/dev/null 2>&1; then
kill $killlevel $pid 2>/dev/null
RC=$?
[ $RC -eq 0 ] && success "$base $killlevel" || failure "$base $killlevel"
fi
# Finally try to extract it from ps
- ${PSCMD} | grep $1 | ${AWK} '{ print $1 }' | tr '\n' ' '
+ pid=`${PSCMD} | grep $1 | ${AWK} '{ print $1 }' | tr '\n' ' '`
+ echo $pid
return 0
}
case "$1" in
start)
[ -x ${BACSDBIN}/bacula-sd ] && {
- echo "Starting the Bacula Storage daemon"
+ echo "Starting the $Bacula Storage daemon"
OPTIONS=''
if [ "${SD_USER}" != '' ]; then
OPTIONS="${OPTIONS} -u ${SD_USER}"
OPTIONS="${OPTIONS} -g ${SD_GROUP}"
fi
- ${BACSDBIN}/bacula-sd $2 ${OPTIONS} -v -c ${BACSDCFG}/bacula-sd.conf
+ if [ "x${VALGRIND_SD}" = "x1" ]; then
+ valgrind --leak-check=full ${BACSDBIN}/bacula-sd $2 $3 ${OPTIONS} -v -c ${BACSDCFG}/bacula-sd.conf
+ else
+ ${BACSDBIN}/bacula-sd $2 $3 ${OPTIONS} -v -c ${BACSDCFG}/bacula-sd.conf
+ fi
}
;;
stop)
[ -x ${BACSDBIN}/bacula-sd ] && {
- echo "Stopping the Bacula Storage daemon"
- killproc ${BACSDBIN}/bacula-sd ${SD_PORT}
+ echo "Stopping the $Bacula Storage daemon"
+ killproc ${BACSDBIN}/bacula-sd ${SD_PORT} $2
}
;;