]> git.sur5r.net Git - bacula/bacula/commitdiff
Cleanup Solaris init scripts and made them zone aware.
authorMarco van Wieringen <mvw@planets.elm.net>
Fri, 29 Apr 2011 19:32:54 +0000 (21:32 +0200)
committerMarco van Wieringen <mvw@planets.elm.net>
Sun, 1 May 2011 15:11:56 +0000 (17:11 +0200)
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.

bacula/platforms/solaris/bacula-dir.in
bacula/platforms/solaris/bacula-fd.in
bacula/platforms/solaris/bacula-sd.in

index c5a3a93c32f3b25df50c87b5a706c6d31362e909..c7105a32ff5bdafe8ccdc233770f5ddc02997f21 100755 (executable)
@@ -1,12 +1,11 @@
-#! /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@
@@ -16,11 +15,13 @@ DIR_OPTIONS=''
 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: "
@@ -28,7 +29,18 @@ case "$1" in
        ;;
     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
index eeca38d537bf9b7421083e76ed0d9ed77f7c2a55..a9eb2044b151831b6169697183dbb6e976118e61 100755 (executable)
@@ -1,12 +1,11 @@
-#! /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@
@@ -15,11 +14,13 @@ FD_OPTIONS=''
 
 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: "
@@ -27,7 +28,18 @@ case "$1" in
        ;;
     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
index c547697066ef80d523ae0c245113e744e1808637..752579e1cb7e77ed7b867b7fb79a357fad6e0a88 100755 (executable)
@@ -1,12 +1,11 @@
-#! /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@
@@ -15,11 +14,13 @@ SD_OPTIONS=''
 
 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: "
@@ -27,7 +28,18 @@ case "$1" in
        ;;
     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