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