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 bus and server 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 START_BUS=0
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 -vvv
26 }
29 start_bus() {
30 start-stop-daemon --start --quiet --pidfile /var/run/gosa-si-bus.pid --name gosa-si-bus --startas /usr/sbin/gosa-si-bus -vvv
31 }
34 start_server() {
35 start-stop-daemon --start --quiet --pidfile /var/run/gosa-si-server.pid --name gosa-si-server --startas /usr/sbin/gosa-si-server -- $1 -vvv
36 }
39 stop_client() {
40 start-stop-daemon --stop --retry 5 --quiet --pidfile /var/run/gosa-si-client.pid --name gosa-si-client
41 }
44 stop_bus() {
45 start-stop-daemon --stop --retry 5 --quiet --pidfile /var/run/gosa-si-bus.pid --name gosa-si-bus
46 }
49 stop_server() {
50 start-stop-daemon --stop --retry 5 --quiet --pidfile /var/run/gosa-si-server.pid --name gosa-si-server
51 }
54 case "$1" in
55 start) log_daemon_msg "Starting GOsa support infrastructure"
56 if [ -x /usr/sbin/gosa-si-server ]; then
57 if [ "$START_BUS" == "1" ]; then
58 log_progress_msg "bus"
59 start_bus
60 log_progress_msg "daemon"
61 start_server
62 else
63 log_progress_msg "daemon"
64 start_server --no-bus
65 fi
66 fi
67 if [ "$START_CLIENT" == "1" -a -x /usr/sbin/gosa-si-client ]; then
68 log_progress_msg "client"
69 start_client
70 fi
71 log_end_msg $?
72 ;;
73 stop) log_daemon_msg "Stopping GOsa support infrastructure"
74 if [ "$START_CLIENT" == "1" -a -x /usr/sbin/gosa-si-client ]; then
75 log_progress_msg "client"
76 stop_client
77 fi
78 if [ -x /usr/sbin/gosa-si-server ]; then
79 if [ "$START_BUS" == "1" ]; then
80 log_progress_msg "daemon"
81 stop_server
82 log_progress_msg "bus"
83 stop_bus
84 else
85 log_progress_msg "daemon"
86 stop_server
87 fi
88 fi
89 log_end_msg $?
90 ;;
91 reload|force-reload|restart) log_daemon_msg "Restarting GOsa support infrastructure"
92 if [ "$START_CLIENT" == "1" -a -x /usr/sbin/gosa-si-client ]; then
93 stop_client
94 fi
95 if [ -x /usr/sbin/gosa-si-server ]; then
96 if [ "$START_BUS" == "1" ]; then
97 stop_server
98 stop_bus
99 start_bus
100 start_server --no-bus
101 else
102 stop_server
103 start_server --no-bus
104 fi
105 fi
106 if [ "$START_CLIENT" == "1" -a -x /usr/sbin/gosa-si-client ]; then
107 start_client
108 fi
109 log_progress_msg "done"
110 log_end_msg $?
111 ;;
112 *) log_action_msg "Usage: /etc/init.d/gosa-si {start|stop|restart|reload|force-reload}"
113 exit 2
114 ;;
115 esac
116 exit 0