#!/bin/sh # Start/stop the GOsa support daemon infrastructure. # ### BEGIN INIT INFO # Provides: gosa-si # 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 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 # 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 [ -r /etc/default/gosa-si ] && . /etc/default/gosa-si # Load LSB support functions . /lib/lsb/init-functions start_client() { start-stop-daemon --start --quiet --pidfile ${PIDFILE_CLIENT} --name ${CLIENT} --startas ${DAEMON_CLIENT} -- $DEBUG } start_server() { 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 ${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 ${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 ${DAEMON_SERVER} ]; then log_progress_msg "daemon" start_server fi 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 ${DAEMON_CLIENT} ]; then log_progress_msg "client" stop_client 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 ${DAEMON_CLIENT} ]; then stop_client fi if [ -x ${DAEMON_SERVER} ]; then stop_server start_server fi if [ "$START_CLIENT" = "1" -a -x ${DAEMON_CLIENT} ]; then start_client fi log_progress_msg "done" log_end_msg $? ;; 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 exit 0