]> git.pld-linux.org Git - packages/heartbeat.git/blob - heartbeat.init
- up to 1.99.5, many changes, start way to proper PLD reality
[packages/heartbeat.git] / heartbeat.init
1 #!/bin/sh
2
3 HA_DIR=/etc/ha.d
4 CONFIG=$HA_DIR/ha.cf
5 . $HA_DIR/shellfuncs
6
7 # Source function library
8 . /etc/rc.d/init.d/functions
9
10 # Get service config
11 [ -f /etc/sysconfig/heartbeat ] && . /etc/sysconfig/heartbeat
12
13 if [ ! -f $CONFIG ]; then
14         nls "Heartbeat not configured: $CONFIG not found."
15         exit 1
16 fi
17
18
19 StandbyHA() {
20   auto_failback=`ha_parameter auto_failback | tr 'A-Z' 'a-z'`
21   nice_failback=`ha_parameter nice_failback | tr 'A-Z' 'a-z'`
22
23   case "$auto_failback" in
24     *legacy*)   echo "auto_failback is set to legacy.  Cannot enter standby."
25                 exit 1;;
26   esac
27   case "$nice_failback" in
28     *off*)      echo "nice_failback is disabled.  Cannot enter standby."
29                 exit 1;;
30   esac
31   case "${auto_failback}${nice_failback}" in
32     "") echo "auto_failback defaulted to legacy.  Cannot enter standby."
33                 exit 1;;
34   esac
35
36   echo "auto_failback: $auto_failback"
37   if
38     StatusHA >/dev/null 2>&1
39   then
40     EchoNoNl "Attempting to enter standby mode"
41     if
42       $HA_BIN/hb_standby
43     then
44       # It's impossible to tell how long this will take.
45       echo
46     else
47       echo_failure $?
48     fi
49   else
50     Echo "Heartbeat is not currently running."
51     exit 1
52   fi
53 }
54
55 RunStartStop() {
56 # Run pre-startup script if it exists
57 if [  -f $HA_DIR/resource.d/startstop ]; then
58         $HA_DIR/resource.d/startstop  "$@"
59 fi
60 }
61
62 RETVAL=0
63
64 case "$1" in
65   start)
66         $HA_BIN/ha_logd -s 2>&1 >/dev/null
67         if [ $? -ne 0 ]; then
68                 msg_starting ha_logd
69                 daemon $HA_BIN/ha_logd -d
70         else
71                 msg_already_running "ha_logd" 
72         fi
73         #RunStartStop pre-start
74         msg_starting "High-Availability"
75         daemon $HA_BIN/ResourceManager verifyallidle
76         msg_starting "Heartbeat"
77         daemon $HA_BIN/heartbeat 2>&1
78         RETVAL=$?
79         #RunStartStop post-start $RETVAL
80         ;;
81   standby)
82         StandbyHA
83         RETVAL=$?
84         ;;
85   status)
86         status $HA_BIN/heartbeat -s
87         RETVAL=$?
88         ;;
89   stop)
90         #RunStartStop "pre-stop"
91         $HA_BIN/heartbeat -s 2>&1 >/dev/null
92         if [ $? -eq 0 ]; then
93                 msg_stopping "Heartbeat"
94                 daemon $HA_BIN/heartbeat -k
95         else
96                 msg_not_running heartbeat
97         fi
98         #RunStartStop post-stop $RETVAL
99         $HA_BIN/ha_logd -s 2>&1 >/dev/null
100         if [ $? -eq 0 ]; then
101                 msg_stopping ha_logd
102                 daemon $HA_BIN/ha_logd -k
103         else
104                 msg_not_running ha_logd
105         fi
106         ;;
107   restart)
108         $0 stop
109         $0 start
110         ;;
111   force-reload|reload)
112         msg_reloading "High-Availability"
113         daemon $HA_BIN/heartbeat -r
114         RETVAL=$?
115         ;;
116   *)
117         msg_usage "$0 {start|stop|status|standby|restart|reload|force-reload}"
118         exit 3
119         ;;
120 esac
121
122 exit $RETVAL
This page took 0.10229 seconds and 3 git commands to generate.