1 #!/bin/sh
2 # Start/stop the GOsa support daemon infrastructure.
3 #
4 ### BEGIN INIT INFO
5 # Provides: gosa-si
6 # Required-Start: $syslog $time
7 # Required-Stop: $syslog $time
8 # Default-Start: 2 3 4 5
9 # Default-Stop: 0 1 6
10 # Short-Description: GOsa message server/client component
11 # Description: gosa-si establishes the communication between a couple of
12 # GOsa hosting servers and optionally clients to do event
13 # signaling for all communication partners.
14 ### END INIT INFO
16 # Load defaults
17 DEBUG=-vvv
18 [ -r /etc/default/gosa-si ] && . /etc/default/gosa-si
20 # Load LSB support functions
21 . /lib/lsb/init-functions
24 start_client() {
25 start-stop-daemon --start --quiet --pidfile /var/run/gosa-si-client.pid --name gosa-si-client --startas /usr/sbin/gosa-si-client -- $DEBUG
26 }
29 start_server() {
30 start-stop-daemon --start --quiet --pidfile /var/run/gosa-si-server.pid --name gosa-si-server --startas /usr/sbin/gosa-si-server -- $1 $DEBUG
31 }
34 stop_client() {
35 start-stop-daemon --stop --retry 5 --quiet --pidfile /var/run/gosa-si-client.pid --name gosa-si-client
36 kill `ps -C gosa-si-client -o pid=` > /dev/null 2>&1
37 ! ps -C gosa-si-client -o pid= > /dev/null 2>&1
38 }
41 stop_server() {
42 start-stop-daemon --stop --retry 5 --quiet --pidfile /var/run/gosa-si-server.pid --name gosa-si-server
43 kill `ps -C gosa-si-server -o pid=` > /dev/null 2>&1
44 ! ps -C gosa-si-server -o pid= > /dev/null 2>&1
45 }
48 case "$1" in
49 start) log_daemon_msg "Starting GOsa support infrastructure"
50 if [ -x /usr/sbin/gosa-si-server ]; then
51 log_progress_msg "daemon"
52 start_server
53 fi
54 if [ "$START_CLIENT" = "1" -a -x /usr/sbin/gosa-si-client ]; then
55 log_progress_msg "client"
56 start_client
57 fi
58 log_end_msg $?
59 ;;
60 stop) log_daemon_msg "Stopping GOsa support infrastructure"
61 if [ "$START_CLIENT" = "1" -a -x /usr/sbin/gosa-si-client ]; then
62 log_progress_msg "client"
63 stop_client
64 fi
65 if [ -x /usr/sbin/gosa-si-server ]; then
66 log_progress_msg "daemon"
67 stop_server
68 fi
69 log_end_msg $?
70 ;;
71 reload|force-reload|restart) log_daemon_msg "Restarting GOsa support infrastructure"
72 if [ "$START_CLIENT" = "1" -a -x /usr/sbin/gosa-si-client ]; then
73 stop_client
74 fi
75 if [ -x /usr/sbin/gosa-si-server ]; then
76 stop_server
77 start_server
78 fi
79 if [ "$START_CLIENT" = "1" -a -x /usr/sbin/gosa-si-client ]; then
80 start_client
81 fi
82 log_progress_msg "done"
83 log_end_msg $?
84 ;;
85 *) log_action_msg "Usage: /etc/init.d/gosa-si {start|stop|restart|reload|force-reload}"
86 exit 2
87 ;;
88 esac
89 exit 0