Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Evergreen:11.1:kernel-2.6.32
heartbeat
heartbeat.suse.in
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File heartbeat.suse.in of Package heartbeat
#!/bin/sh # # heartbeat Start high-availability services # # Original author: Alan Robertson <alanr@unix.sh> # Current author: Lars Marowsky-Bree <lmb@suse.de> # # Based on the original init.d script by heartbeat (r1.33). # # chkconfig: 2345 @HB_INITSTARTPRI@ @HB_INITSTOPPRI@ # description: Startup script high-availability services. # processname: heartbeat # pidfile: @localstatedir@/run/heartbeat.pid # config: @sysconfdir@/ha.d/ha.cf # ### BEGIN INIT INFO # Provides: heartbeat # Short-Description: Start and stop the Heartbeat cluster stack # Required-Start: $network $syslog $named $remote_fs # Should-Start: drbd sshd xendomains o2cb evms ocfs2 # Should-Stop: $null # Required-Stop: $network # Default-Start: 3 5 # Default-Stop: 0 1 2 6 # Description: Start heartbeat HA services ### END INIT INFO HA_DIR=/etc/ha.d; export HA_DIR CONFIG=$HA_DIR/ha.cf . $HA_DIR/shellfuncs # Setup SuSE specific variables [ -r /etc/rc.status ] && . /etc/rc.status rc_reset if [ ! -x $HA_BIN/heartbeat ]; then echo -n "High-Availability services not installed (heartbeat)" if [ "$1" = "stop" ]; then exit 0; fi rc_status -s rc_exit fi if [ ! -x $HA_BIN/ha_logd ]; then echo -n "High-Availability services not installed (ha_logd)" if [ "$1" = "stop" ]; then exit 0; fi rc_status -s rc_exit fi StartLogd() { $HA_BIN/ha_logd -s 2>&1 >/dev/null if [ $? -eq 0 ]; then Echo "logd is already running" return 0 fi $HA_BIN/ha_logd -d if [ $? -ne 0 ]; then Echo "starting logd failed" fi } StopLogd() { $HA_BIN/ha_logd -s 2>&1 >/dev/null if [ $? -ne 0 ]; then Echo "logd is already stopped" return 0 fi $HA_BIN/ha_logd -k if [ $? -ne 0 ]; then Echo "stopping logd failed" fi } StatusHA() { $HA_BIN/heartbeat -s >/dev/null 2>&1 } StandbyHA() { auto_failback=`ha_parameter auto_failback | tr 'A-Z' 'a-z'` nice_failback=`ha_parameter nice_failback | tr 'A-Z' 'a-z'` case "$auto_failback" in *legacy*) echo "auto_failback is set to legacy. Cannot enter standby." return 1;; esac case "$nice_failback" in *off*) echo "nice_failback is disabled. Cannot enter standby." return 1;; esac case "${auto_failback}${nice_failback}" in "") echo "auto_failback defaulted to legacy. Cannot enter standby." return 1;; esac echo "auto_failback: $auto_failback" if StatusHA; then echo -n "Attempting to enter standby mode." if $HA_BIN/hb_standby ; then return 0 else return 1 fi else echo -n "heartbeat is not currently running." return 0 fi # Fall-through case: # XXX Never reached? rc_status -s rc_exit } RunStartStop() { # Run pre-startup script if it exists and is executable if [ -x $HA_DIR/resource.d/startstop ]; then $HA_DIR/resource.d/startstop "$@" fi } if [ ! -f $CONFIG ]; then echo -n "High-Availability services not configured" if [ "$1" = "stop" ]; then exit 0; fi rc_status -u rc_exit fi case "$1" in start) echo -n "Starting High-Availability services" StartLogd RunStartStop pre-start if [ -s $HA_DIR/haresources ]; then $HA_BIN/ResourceManager verifyallidle fi $HA_BIN/heartbeat rc_status -v RunStartStop post-start $? ;; stop) RunStartStop pre-stop echo -n "Stopping High-Availability services" $HA_BIN/heartbeat -k rc_status -v RunStartStop post-stop $? StopLogd ;; status) echo -n "Checking for High-Availability services" checkproc $HA_BIN/heartbeat rc_status -v ;; standby) StandbyHA rc_status -v ;; restart) sleeptime=`ha_parameter deadtime` $0 stop sleep $sleeptime sleep 10 # allow resource takeover to complete (hopefully). $0 start rc_status ;; force-reload|reload) echo -n "Reloading High-Availability services " # Restart, and keep your resources $HA_BIN/heartbeat -r rc_status -v ;; *) Echo "Usage: $0 {start|stop|status|restart|reload|force-reload|standby}" exit 1 esac rc_exit
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor