Code

c1a730e7209cddf9610c255d4537f1af09f17a1a
[gosa.git] / gosa-si / debian / gosa-si-common.init
1 #!/bin/sh
2 # Start/stop the GOsa support daemon infrastructure.
3 #
4 ### BEGIN INIT INFO
5 # Provides:          gosa-si
6 # Required-Start:    $network $named $syslog $time
7 # Required-Stop:     $network $named $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 # Start/stop the ctftpd daemon.
17 SERVER="gosa-si-server"
18 CLIENT="gosa-si-client"
19 DAEMON_SERVER="/usr/sbin/${SERVER}"
20 DAEMON_CLIENT="/usr/sbin/${CLIENT}"
21 PIDFILE_SERVER="/var/run/${SERVER}.pid"
22 PIDFILE_CLIENT="/var/run/${CLIENT}.pid"
24 # Load defaults
25 [ -r /etc/default/gosa-si ] && . /etc/default/gosa-si
27 # Load LSB support functions
28 . /lib/lsb/init-functions
31 start_client() {
32         start-stop-daemon --start --quiet --pidfile ${PIDFILE_CLIENT} --name ${CLIENT} --startas ${DAEMON_CLIENT} -- $DEBUG
33 }
36 start_server() {
37         start-stop-daemon --start --quiet --pidfile ${PIDFILE_SERVER} --name ${SERVER} --startas ${DAEMON_SERVER} -- $1 $DEBUG
38 }
41 stop_client() {
42         start-stop-daemon --stop --retry 5 --quiet --pidfile ${PIDFILE_CLIENT} --name ${CLIENT}
43         kill `ps -C gosa-si-client -o pid=` > /dev/null 2>&1
44         ! ps -C gosa-si-client -o pid= > /dev/null 2>&1
45 }
48 stop_server() {
49         start-stop-daemon --stop --retry 5 --quiet --pidfile ${PIDFILE_SERVER} --name ${SERVER}
50         kill `ps -C gosa-si-server -o pid=` > /dev/null 2>&1
51         ! ps -C gosa-si-server -o pid= > /dev/null 2>&1
52 }
55 case "$1" in
56 start)  log_daemon_msg "Starting GOsa support infrastructure"
57         if [ -x ${DAEMON_SERVER} ]; then
58                 log_progress_msg "daemon"
59                 start_server
60         fi
61         if [ "$START_CLIENT" = "1" -a -x ${DAEMON_CLIENT} ]; then
62                 log_progress_msg "client"
63                 start_client
64         fi
65         log_end_msg $?
66         ;;
67 stop)   log_daemon_msg "Stopping GOsa support infrastructure"
68         if [ "$START_CLIENT" = "1" -a -x ${DAEMON_CLIENT} ]; then
69                 log_progress_msg "client"
70                 stop_client
71         fi
72         if [ -x ${DAEMON_SERVER} ]; then
73                 log_progress_msg "daemon"
74                 stop_server
75         fi
76         log_end_msg $?
77         ;;
78 reload|force-reload|restart) log_daemon_msg "Restarting GOsa support infrastructure" 
79         if [ "$START_CLIENT" = "1" -a -x {DAEMON_CLIENT} ]; then
80                 stop_client
81         fi
82         if [ -x {DAEMON_SERVER} ]; then
83                 stop_server
84                 start_server
85         fi
86         if [ "$START_CLIENT" = "1" -a -x {DAEMON_CLIENT} ]; then
87                 start_client
88         fi
89         log_progress_msg "done"
90         log_end_msg $?
91         ;;
92 restart-client) log_daemon_msg "Restarting GOsa support infrastructure client"
93         if [ "$START_CLIENT" = "1" -a -x ${DAEMON_CLIENT} ]; then
94                 stop_client
95         fi
96         if [ "$START_CLIENT" = "1" -a -x ${DAEMON_CLIENT} ]; then
97                 start_client
98         fi
99         log_progress_msg "done"
100         log_end_msg $?
101         ;;
102 status)
103         status=0
104         pidofproc -p "${PIDFILE_SERVER}" "${DAEMON_SERVER}" >/dev/null || status="$?"
105         log_daemon_msg "Status of GOsa-si server" "${NAME}"
106         if [ "$status" = 0 ]; then
107                log_progress_msg "is running"
108                log_end_msg 0
109         else
110                log_progress_msg "is not running"
111                log_end_msg $status
112         fi
114         if [ "$START_CLIENT" = "1" -a -x ${DAEMON_CLIENT} ]; then
115                 status=0
116                 pidofproc -p "${PIDFILE_SERVER}" "${DAEMON_SERVER}" >/dev/null || status="$?"
117                 log_daemon_msg "Status of GOsa-si server" "${NAME}"
118                 if [ "$status" = 0 ]; then
119                         log_progress_msg "is running"
120                         log_end_msg 0
121                 else
122                         log_progress_msg "is not running"
123                         log_end_msg $status
124                 fi
125         fi
126         ;;
128 *)      log_action_msg "Usage: /etc/init.d/gosa-si {start|stop|restart|restart-client|reload|force-reload|status}"
129         exit 2
130         ;;
131 esac
132 exit 0