#
# Bacula(R) - The Network Backup Solution
#
-# Copyright (C) 2000-2015 Kern Sibbald
-# Copyright (C) 2000-2014 Free Software Foundation Europe e.V.
+# 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.
# Bacula(R) is a registered trademark of Kern Sibbald.
#
# bacula-ctl-dir This shell script takes care of starting and stopping
-# the bacula Director daemon
+# the bacula Director 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.
DIR_USER=@dir_user@
DIR_GROUP=@dir_group@
Bacula="@BACULA@"
-PIDOF=@PIDOF@
+PIDOF=@PIDOF@
# A function to stop a program.
killproc() {
# Kill it.
if [ "$pid" != "" ] ; then
if [ "$notset" = "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
- sleep 1
- if ${PS} -p "$pid" >/dev/null 2>&1 ; then
- sleep 3
- 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
- RC=$?
- [ $RC -eq 0 ] && failure "$base shutdown" || success "$base shutdown"
+ 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
+ sleep 1
+ if ${PS} -p "$pid" >/dev/null 2>&1 ; then
+ sleep 3
+ 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
+ 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
- kill $killlevel $pid 2>/dev/null
- RC=$?
- [ $RC -eq 0 ] && success "$base $killlevel" || failure "$base $killlevel"
- fi
+ 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
fi
else
failure "$base shutdown"
if [ -f ${PIDDIR}/$base.$2.pid ] ; then
pid=`head -n 1 ${PIDDIR}/$base.$2.pid`
if [ "$pid" != "" ] ; then
- echo $pid
- return 0
+ echo $pid
+ return 0
fi
fi
return 0
else
pid=`${PSCMD} | ${AWK} 'BEGIN { prog=ARGV[1]; ARGC=1 }
- { if ((prog == $2) || (("(" prog ")") == $2) ||
- (("[" prog "]") == $2) ||
- ((prog ":") == $2)) { print $1 ; exit 0 } }' $1`
+ { if ((prog == $2) || (("(" prog ")") == $2) ||
+ (("[" prog "]") == $2) ||
+ ((prog ":") == $2)) { print $1 ; exit 0 } }' $1`
if [ "$pid" != "" ] ; then
- echo "$base (pid $pid) is running..."
- return 0
+ echo "$base (pid $pid) is running..."
+ return 0
fi
fi
if [ -f ${PIDDIR}/$base.$2.pid ] ; then
pid=`head -n 1 ${PIDDIR}/$base.$2.pid`
if [ "$pid" != "" ] ; then
- echo "$base dead but pid file exists"
- return 1
+ echo "$base dead but pid file exists"
+ return 1
fi
fi
# See if the subsys lock exists
case "$1" in
start)
[ -x ${BACDIRBIN}/bacula-dir ] && {
- echo "Starting the $Bacula Director daemon"
- OPTIONS=''
- if [ "${DIR_USER}" != '' ]; then
- OPTIONS="${OPTIONS} -u ${DIR_USER}"
- fi
+ echo "Starting the $Bacula Director daemon"
+ OPTIONS=''
+ if [ "${DIR_USER}" != '' ]; then
+ OPTIONS="${OPTIONS} -u ${DIR_USER}"
+ fi
- if [ "${DIR_GROUP}" != '' ]; then
- OPTIONS="${OPTIONS} -g ${DIR_GROUP}"
- fi
+ if [ "${DIR_GROUP}" != '' ]; then
+ OPTIONS="${OPTIONS} -g ${DIR_GROUP}"
+ fi
- if [ "x${VALGRIND_DIR}" = "x1" ]; then
- valgrind --leak-check=full ${BACDIRBIN}/bacula-dir $2 $3 ${OPTIONS} -v -c ${BACDIRCFG}/bacula-dir.conf
- else
- ${BACDIRBIN}/bacula-dir $2 $3 ${OPTIONS} -v -c ${BACDIRCFG}/bacula-dir.conf
- fi
- sleep 1
+ if [ "x${VALGRIND_DIR}" = "x1" ]; then
+ valgrind --leak-check=full ${BACDIRBIN}/bacula-dir $2 $3 ${OPTIONS} -v -c ${BACDIRCFG}/bacula-dir.conf
+ else
+ ${BACDIRBIN}/bacula-dir $2 $3 ${OPTIONS} -v -c ${BACDIRCFG}/bacula-dir.conf
+ fi
+ sleep 1
}
;;
stop)
[ -x ${BACDIRBIN}/bacula-dir ] && {
- echo "Stopping the $Bacula Director daemon"
- killproc ${BACDIRBIN}/bacula-dir ${DIR_PORT} $2
+ echo "Stopping the $Bacula Director daemon"
+ killproc ${BACDIRBIN}/bacula-dir ${DIR_PORT} $2
}
;;