Code

Updated get_ou it receives values from the config registry now.
[gosa.git] / gosa-si / debian / gosa-si-common.init
index 7c6101ed6b2e4033a6984f0fb072a0d57a19b2d5..9a9cb9268e53685cfb5f6d1a940107785293263b 100755 (executable)
@@ -1,10 +1,10 @@
-#!/bin/bash
+#!/bin/sh
 # Start/stop the GOsa support daemon infrastructure.
 #
 ### BEGIN INIT INFO
 # Provides:          gosa-si
-# Required-Start:    $syslog $time
-# Required-Stop:     $syslog $time
+# Required-Start:    $network $remote_fs $named $syslog $time
+# Required-Stop:     $network $remote_fs $named $syslog $time
 # Default-Start:     2 3 4 5
 # Default-Stop:      0 1 6
 # Short-Description: GOsa message server/client component
 #                    signaling for all communication partners.
 ### END INIT INFO
 
+# variables for the gosa-si server and client.
+SERVER="gosa-si-server"
+CLIENT="gosa-si-client"
+DAEMON_SERVER="/usr/sbin/${SERVER}"
+DAEMON_CLIENT="/usr/sbin/${CLIENT}"
+PIDFILE_SERVER="/var/run/${SERVER}.pid"
+PIDFILE_CLIENT="/var/run/${CLIENT}.pid"
+
+PATH="/sbin:/usr/sbin:/bin:/usr/bin"
+
 # Load defaults
-DEBUG=-vvv
 [ -r /etc/default/gosa-si ] && . /etc/default/gosa-si
 
 # Load LSB support functions
@@ -22,65 +31,103 @@ DEBUG=-vvv
 
 
 start_client() {
-       start-stop-daemon --start --quiet --pidfile /var/run/gosa-si-client.pid --name gosa-si-client --startas /usr/sbin/gosa-si-client -- $DEBUG
+       start-stop-daemon --start --quiet --pidfile ${PIDFILE_CLIENT} --name ${CLIENT} --startas ${DAEMON_CLIENT} -- $DEBUG
 }
 
 
 start_server() {
-       start-stop-daemon --start --quiet --pidfile /var/run/gosa-si-server.pid --name gosa-si-server --startas /usr/sbin/gosa-si-server -- $1 $DEBUG
+       start-stop-daemon --start --quiet --pidfile ${PIDFILE_SERVER} --name ${SERVER} --startas ${DAEMON_SERVER} -- $1 $DEBUG
 }
 
 
 stop_client() {
-       start-stop-daemon --stop --retry 5 --quiet --pidfile /var/run/gosa-si-client.pid --name gosa-si-client
-       kill `ps -C gosa-si-client -o pid=` &> /dev/null
+       start-stop-daemon --stop --retry 5 --quiet --pidfile ${PIDFILE_CLIENT} --name ${CLIENT}
+       kill `ps -C gosa-si-client -o pid=` > /dev/null 2>&1
+       ! ps -C gosa-si-client -o pid= > /dev/null 2>&1
 }
 
 
 stop_server() {
-       start-stop-daemon --stop --retry 5 --quiet --pidfile /var/run/gosa-si-server.pid --name gosa-si-server
-       kill `ps -C gosa-si-server -o pid=` &> /dev/null
+       start-stop-daemon --stop --retry 5 --quiet --pidfile ${PIDFILE_SERVER} --name ${SERVER}
+       kill `ps -C gosa-si-server -o pid=` > /dev/null 2>&1
+       ! ps -C gosa-si-server -o pid= > /dev/null 2>&1
 }
 
 
 case "$1" in
 start)  log_daemon_msg "Starting GOsa support infrastructure"
-       if [ -x /usr/sbin/gosa-si-server ]; then
+       if [ -x ${DAEMON_SERVER} ]; then
                log_progress_msg "daemon"
                start_server
        fi
-       if [ "$START_CLIENT" == "1" -a -x /usr/sbin/gosa-si-client ]; then
+       if [ "$START_CLIENT" = "1" -a -x ${DAEMON_CLIENT} ]; then
                log_progress_msg "client"
                start_client
        fi
         log_end_msg $?
        ;;
 stop)   log_daemon_msg "Stopping GOsa support infrastructure"
-       if [ "$START_CLIENT" == "1" -a -x /usr/sbin/gosa-si-client ]; then
+       if [ "$START_CLIENT" = "1" -a -x ${DAEMON_CLIENT} ]; then
                log_progress_msg "client"
                stop_client
        fi
-       if [ -x /usr/sbin/gosa-si-server ]; then
+       if [ -x ${DAEMON_SERVER} ]; then
                log_progress_msg "daemon"
                stop_server
        fi
         log_end_msg $?
         ;;
 reload|force-reload|restart) log_daemon_msg "Restarting GOsa support infrastructure" 
-       if [ "$START_CLIENT" == "1" -a -x /usr/sbin/gosa-si-client ]; then
+       if [ "$START_CLIENT" = "1" -a -x ${DAEMON_CLIENT} ]; then
                stop_client
        fi
-       if [ -x /usr/sbin/gosa-si-server ]; then
+       if [ -x ${DAEMON_SERVER} ]; then
                stop_server
                start_server
        fi
-       if [ "$START_CLIENT" == "1" -a -x /usr/sbin/gosa-si-client ]; then
+       if [ "$START_CLIENT" = "1" -a -x ${DAEMON_CLIENT} ]; then
                start_client
        fi
        log_progress_msg "done"
         log_end_msg $?
         ;;
-*)     log_action_msg "Usage: /etc/init.d/gosa-si {start|stop|restart|reload|force-reload}"
+restart-client) log_daemon_msg "Restarting GOsa support infrastructure client"
+        if [ "$START_CLIENT" = "1" -a -x ${DAEMON_CLIENT} ]; then
+                stop_client
+        fi
+        if [ "$START_CLIENT" = "1" -a -x ${DAEMON_CLIENT} ]; then
+                start_client
+        fi
+        log_progress_msg "done"
+        log_end_msg $?
+        ;;
+status)
+        status=0
+        pidofproc -p "${PIDFILE_SERVER}" "${DAEMON_SERVER}" >/dev/null || status="$?"
+        log_daemon_msg "Status of GOsa-si server" "${NAME}"
+        if [ "$status" = 0 ]; then
+               log_progress_msg "is running"
+               log_end_msg 0
+        else
+               log_progress_msg "is not running"
+               log_end_msg $status
+        fi
+
+        if [ "$START_CLIENT" = "1" -a -x ${DAEMON_CLIENT} ]; then
+               status=0
+               pidofproc -p "${PIDFILE_CLIENT}" "${DAEMON_CLIENT}" >/dev/null || status="$?"
+               log_daemon_msg "Status of GOsa-si client" "${NAME}"
+               if [ "$status" = 0 ]; then
+                               log_progress_msg "is running"
+                               log_end_msg 0
+               else
+                               log_progress_msg "is not running"
+                               log_end_msg $status
+               fi
+       fi
+        ;;
+
+*)     log_action_msg "Usage: /etc/init.d/gosa-si {start|stop|restart|restart-client|reload|force-reload|status}"
         exit 2
         ;;
 esac