index 7c6101ed6b2e4033a6984f0fb072a0d57a19b2d5..9a9cb9268e53685cfb5f6d1a940107785293263b 100755 (executable)
-#!/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
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