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