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 # Sanity checks
17 test -f /usr/sbin/gosa-si-server || exit 0
18 test -f /usr/sbin/gosa-si-bus || exit 0
20 # Load defaults
21 START_BUS=0
22 [ -r /etc/default/gosa-si ] && . /etc/default/gosa-si
24 # Load LSB support functions
25 . /lib/lsb/init-functions
28 start_client() {
29 start-stop-daemon --start --quiet --pidfile /var/run/gosa-si-client.pid --name gosa-si-client --startas /usr/sbin/gosa-si-client
30 }
33 start_bus() {
34 start-stop-daemon --start --quiet --pidfile /var/run/gosa-si-bus.pid --name gosa-si-bus --startas /usr/sbin/gosa-si-bus
35 }
38 start_server() {
39 start-stop-daemon --start --quiet --pidfile /var/run/gosa-si-server.pid --name gosa-si-server --startas /usr/sbin/gosa-si-server -- $1
40 }
43 stop_client() {
44 start-stop-daemon --stop --retry 5 --quiet --pidfile /var/run/gosa-si-client.pid --name gosa-si-client
45 }
48 stop_bus() {
49 start-stop-daemon --stop --retry 5 --quiet --pidfile /var/run/gosa-si-bus.pid --name gosa-si-bus
50 }
53 stop_server() {
54 start-stop-daemon --stop --retry 5 --quiet --pidfile /var/run/gosa-si-server.pid --name gosa-si-server
55 }
58 case "$1" in
59 start) log_daemon_msg "Starting GOsa support infrastructure"
60 if [ "$START_BUS" == "1" ]; then
61 log_progress_msg "bus"
62 start_bus
63 log_progress_msg "daemon"
64 start_server
65 else
66 log_progress_msg "daemon"
67 start_server --no-bus
68 fi
69 if [ "$START_CLIENT" == "1" -a -x /usr/sbin/gosa-si-client ]; then
70 log_progress_msg "client"
71 start_client
72 fi
73 log_end_msg $?
74 ;;
75 stop) log_daemon_msg "Stopping GOsa support infrastructure"
76 if [ "$START_BUS" == "1" ]; then
77 log_progress_msg "daemon"
78 stop_server
79 log_progress_msg "bus"
80 stop_bus
81 else
82 log_progress_msg "daemon"
83 stop_server
84 fi
85 if [ "$START_CLIENT" == "1" -a -x /usr/sbin/gosa-si-client ]; then
86 log_progress_msg "client"
87 stop_client
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 [ "$START_BUS" == "1" ]; then
96 stop_server
97 stop_bus
98 start_bus
99 start_server --no-bus
100 else
101 stop_server
102 start_server --no-bus
103 fi
104 if [ "$START_CLIENT" == "1" -a -x /usr/sbin/gosa-si-client ]; then
105 start_client
106 fi
107 log_progress_msg "done"
108 log_end_msg $?
109 ;;
110 *) log_action_msg "Usage: /etc/init.d/gosa-si {start|stop|restart|reload|force-reload}"
111 exit 2
112 ;;
113 esac
114 exit 0