]>
Commit | Line | Data |
---|---|---|
ceec34f5 | 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 |