X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=gosa-si%2Fdebian%2Fgosa-si-common.init;h=68c59fc65e6a6fbaa190453c9a19f94bb25bb8b3;hb=d96364058fc5b8e469ae5c608aaad9623838170c;hp=37c30d53497c297ed60e8d95f3d88a70784074b3;hpb=e6b78add18afabe74290829704fd78959f742dc8;p=gosa.git diff --git a/gosa-si/debian/gosa-si-common.init b/gosa-si/debian/gosa-si-common.init index 37c30d534..68c59fc65 100755 --- a/gosa-si/debian/gosa-si-common.init +++ b/gosa-si/debian/gosa-si-common.init @@ -3,22 +3,27 @@ # ### BEGIN INIT INFO # Provides: gosa-si -# Required-Start: $syslog $time -# Required-Stop: $syslog $time +# Required-Start: $network $named $syslog $time +# Required-Stop: $network $named $syslog $time # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 -# Short-Description: GOsa message bus and server component +# Short-Description: GOsa message server/client component # Description: gosa-si establishes the communication between a couple of # GOsa hosting servers and optionally clients to do event # signaling for all communication partners. ### END INIT INFO -# Sanity checks -test -f /usr/sbin/gosa-si-server || exit 0 -test -f /usr/sbin/gosa-si-bus || exit 0 +# Start/stop the ctftpd daemon. +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 -START_BUS=0 [ -r /etc/default/gosa-si ] && . /etc/default/gosa-si # Load LSB support functions @@ -26,94 +31,103 @@ START_BUS=0 start_client() { - start-stop-daemon --start --quiet --pidfile /var/run/gosa-si-client.pid --name gosa-si-client --startas /usr/sbin/gosa-si-client -} - - -start_bus() { - start-stop-daemon --start --quiet --pidfile /var/run/gosa-si-bus.pid --name gosa-si-bus --startas /usr/sbin/gosa-si-bus + 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 + 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 -} - - -stop_bus() { - start-stop-daemon --stop --retry 5 --quiet --pidfile /var/run/gosa-si-bus.pid --name gosa-si-bus + 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 + 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 [ "$START_BUS" == "1" ]; then - log_progress_msg "bus" - start_bus - log_progress_msg "daemon" - start_server - else - log_progress_msg "daemon" - start_server --no-bus - fi + 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 [ "$START_BUS" == "1" ]; then - log_progress_msg "daemon" - stop_server - log_progress_msg "bus" - stop_bus - else - log_progress_msg "daemon" - stop_server - fi + 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 [ "$START_BUS" == "1" ]; then - stop_server - stop_bus - start_bus - start_server --no-bus - else - stop_server - start_server --no-bus - fi + 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