1 #!/bin/sh
2 # Start/stop the GOsa support daemon infrastructure.
3 #
4 ### BEGIN INIT INFO
5 # Provides: gosa-si-server
6 # Required-Start: $network $remote_fs $named $syslog $time
7 # Required-Stop: $network $remote_fs $named $syslog $time
8 # Default-Start: 2 3 4 5
9 # Default-Stop: 0 1 6
10 # Short-Description: GOsa message server component
11 # Description: gosa-si-server 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 # variables for the gosa-si-server.
17 SERVER="gosa-si-server"
18 DAEMON_SERVER="/usr/sbin/${SERVER}"
19 RUN_DIRECTORY="/var/run/gosa-si"
20 PIDFILE_SERVER="$RUN_DIRECTORY/${SERVER}.pid"
22 PATH="/sbin:/usr/sbin:/bin:/usr/bin"
24 # Load defaults
25 [ -r /etc/default/gosa-si-server ] && . /etc/default/gosa-si-server
27 # Load LSB support functions
28 . /lib/lsb/init-functions
30 if [ ! -d "/var/run/gosa-si" ]; then
31 mkdir $RUN_DIRECTORY
32 fi
34 start_server() {
35 start-stop-daemon --start --quiet --pidfile ${PIDFILE_SERVER} --name ${SERVER} --startas ${DAEMON_SERVER} -- $1 $DEBUG
36 }
38 # to be changed ugly
39 stop_server() {
40 start-stop-daemon --stop --retry 5 --quiet --pidfile ${PIDFILE_SERVER} --name ${SERVER}
41 #kill `ps -C gosa-si-server -o pid=` > /dev/null 2>&1
42 # ! ps -C gosa-si-server -o pid= > /dev/null 2>&1
43 }
46 case "$1" in
47 start) log_daemon_msg "Starting GOsa support infrastructure Server"
48 if [ "$START_SERVER" = "1" -a -x ${DAEMON_SERVER} ]; then
49 log_progress_msg "server"
50 start_server
51 fi
52 log_end_msg $?
53 ;;
54 stop) log_daemon_msg "Stopping GOsa support infrastructure Server"
55 if [ "$START_SERVER" = "1" -a -x ${DAEMON_SERVER} ]; then
56 log_progress_msg "server"
57 stop_server
58 fi
59 log_end_msg $?
60 ;;
61 reload|force-reload|restart) log_daemon_msg "Restarting GOsa support infrastructure Server"
62 if [ "$START_SERVER" = "1" -a -x ${DAEMON_SERVER} ]; then
63 stop_server
64 start_server
65 fi
66 log_progress_msg "done"
67 log_end_msg $?
68 ;;
69 status)
70 if [ "$START_SERVER" = "1" -a -x ${DAEMON_SERVER} ]; then
71 status=0
72 pidofproc -p "${PIDFILE_SERVER}" "${DAEMON_SERVER}" >/dev/null || status="$?"
73 log_daemon_msg "Status of GOsa-si server" "${NAME}"
74 if [ "$status" = 0 ]; then
75 log_progress_msg "is running"
76 log_end_msg 0
77 else
78 log_progress_msg "is not running"
79 log_end_msg $status
80 fi
81 fi
82 ;;
84 *) log_action_msg "Usage: /etc/init.d/gosa-si {start|stop|restart|reload|force-reload|status}"
85 exit 2
86 ;;
87 esac
88 exit 0