Some cleanups to the option parsing added in previous patch.
Added support for checking if we run on a Solaris 10 or later
global zone where using pkill -x is kind of dangerous as we
kill all bacula processes also in non-global zones.
-#! /bin/sh
+#!/bin/sh
#
# bacula This shell script takes care of starting and stopping
# the bacula Director daemon
#
-# chkconfig: 2345 92 9
# description: The Leading Open Source Backup Solution.
#
-# For Bacula release @VERSION@ (@DATE@) -- @DISTNAME@
+# For Bacula release @VERSION@ (@DATE@) -- @DISTNAME@
#
DIR_USER=@dir_user@
RETVAL=0
case "$1" in
start)
- if [ "${DIR_USER}" != '' ]; then
- DIR_OPTIONS="${DIR_OPTIONS} -u ${DIR_USER}"
+ if [ ! -z "${DIR_USER}" ]; then
+ [ -z "${DIR_OPTIONS}" ] && DIR_OPTIONS="-u ${DIR_USER}" || \
+ DIR_OPTIONS="${DIR_OPTIONS} -u ${DIR_USER}"
fi
- if [ "${DIR_GROUP}" != '' ]; then
- DIR_OPTIONS="${DIR_OPTIONS} -g ${DIR_GROUP}"
+ if [ ! -z "${DIR_GROUP}" ]; then
+ [ -z "${DIR_OPTIONS}" ] && DIR_OPTIONS="-g ${DIR_GROUP}" || \
+ DIR_OPTIONS="${DIR_OPTIONS} -g ${DIR_GROUP}"
fi
echo "Starting the Bacula Director: "
;;
stop)
echo "Stopping the Director daemon: "
- pkill -x bacula-dir
+ if [ -x /usr/bin/zonename ]; then
+ case `/usr/bin/zonename` in
+ global)
+ pkill -z global -x bacula-dir
+ ;;
+ *)
+ pkill -x bacula-dir
+ ;;
+ esac
+ else
+ pkill -x bacula-dir
+ fi
;;
restart)
$0 stop
-#! /bin/sh
+#!/bin/sh
#
# bacula This shell script takes care of starting and stopping
# the bacula File daemon.
#
-# chkconfig: 2345 91 9
# description: The Leading Open Source Backup Solution.
#
-# For Bacula release @VERSION@ (@DATE@) -- @DISTNAME@
+# For Bacula release @VERSION@ (@DATE@) -- @DISTNAME@
#
FD_USER=@fd_user@
case "$1" in
start)
- if [ "${FD_USER}" != '' ]; then
- FD_OPTIONS="${FD_OPTIONS} -u ${FD_USER}"
+ if [ ! -z "${DIR_USER}" ]; then
+ [ -z "${DIR_OPTIONS}" ] && DIR_OPTIONS="-u ${DIR_USER}" || \
+ DIR_OPTIONS="${DIR_OPTIONS} -u ${DIR_USER}"
fi
- if [ "${FD_GROUP}" != '' ]; then
- FD_OPTIONS="${FD_OPTIONS} -g ${FD_GROUP}"
+ if [ ! -z "${DIR_GROUP}" ]; then
+ [ -z "${DIR_OPTIONS}" ] && DIR_OPTIONS="-g ${DIR_GROUP}" || \
+ DIR_OPTIONS="${DIR_OPTIONS} -g ${DIR_GROUP}"
fi
echo "Starting the Bacula File daemon: "
;;
stop)
echo "Stopping the Bacula File daemon: "
- pkill -x bacula-fd
+ if [ -x /usr/bin/zonename ]; then
+ case `/usr/bin/zonename` in
+ global)
+ pkill -z global -x bacula-fd
+ ;;
+ *)
+ pkill -x bacula-fd
+ ;;
+ esac
+ else
+ pkill -x bacula-fd
+ fi
;;
restart)
$0 stop
-#! /bin/sh
+#!/bin/sh
#
# bacula This shell script takes care of starting and stopping
# the bacula Storage daemon.
#
-# chkconfig: 2345 90 9
# description: The Leading Open Source Backup Solution.
#
-# For Bacula release @VERSION@ (@DATE@) -- @DISTNAME@
+# For Bacula release @VERSION@ (@DATE@) -- @DISTNAME@
#
SD_USER=@sd_user@
case "$1" in
start)
- if [ "${SD_USER}" != '' ]; then
- SD_OPTIONS="${SD_OPTIONS} -u ${SD_USER}"
+ if [ ! -z "${DIR_USER}" ]; then
+ [ -z "${DIR_OPTIONS}" ] && DIR_OPTIONS="-u ${DIR_USER}" || \
+ DIR_OPTIONS="${DIR_OPTIONS} -u ${DIR_USER}"
fi
- if [ "${SD_GROUP}" != '' ]; then
- SD_OPTIONS="${SD_OPTIONS} -g ${SD_GROUP}"
+ if [ ! -z "${DIR_GROUP}" ]; then
+ [ -z "${DIR_OPTIONS}" ] && DIR_OPTIONS="-g ${DIR_GROUP}" || \
+ DIR_OPTIONS="${DIR_OPTIONS} -g ${DIR_GROUP}"
fi
echo "Starting the Bacula Storage daemon: "
;;
stop)
echo "Stopping the Bacula Storage daemon: "
- pkill -x bacula-sd
+ if [ -x /usr/bin/zonename ]; then
+ case `/usr/bin/zonename` in
+ global)
+ pkill -z global -x bacula-sd
+ ;;
+ *)
+ pkill -x bacula-sd
+ ;;
+ esac
+ else
+ pkill -x bacula-sd
+ fi
;;
restart)
$0 stop