Sophie

Sophie

distrib > Mandriva > 2010.2 > x86_64 > by-pkgid > 6bba13c2800b4793eaaeea8c5a9a3d37 > files > 2

bpowerd-3.0b1-9mdv2010.0.x86_64.rpm

#! /bin/sh
#
# bpowerfail	This script is run when the UPS tells the system the power has
#		gone. Tell everybody and start the shutdown based on the failure
#		type.  This script will also being run when the power comes up
#		again.
#
#
# Author:	Tom Webster <webster@kaiwan.com>
# Modified-By:	Brian White <bcwhite@verisim.com>
#               Mitch Blevins <mblevin@debian.org>
#               Christopher Craig <ccraig@ccraig.org>



failtime=+5	# shutdown delay from initial power failure
scramtime=now	# shutdown delay from low-battery warning

failmsg="LINE POWER FAILURE -- SWITCHED TO BATTERY BACKUP"
scrammsg="BACKUP BATTERY LOW -- EMERGENCY SHUTDOWN"
okaymsg="LINE POWER RESTORED -- RESUMING NORMAL OPERATION"



# Set the path.
PATH=/sbin:/etc:/bin:/usr/bin

# Set location of file containing PID of running shutdowns
spidpath="/var/run/shutdown.pid"



# See what happened.
case "$1" in

    start)
	# Called with a powerfail event, check to see if a shutdown is running
	if [ -f $spidpath ]
	then
	    # Shutdown is running, kill it to process the new event
	    shutdown -c >/dev/null 2>&1
	fi

	shutdown -h $failtime "$failmsg" &
	;;


    now)
	# Called with a powerfail event, check to see if a shutdown is running
	if [ -f $spidpath ]
	then
	    # Shutdown is running, kill it to process the new event
	    shutdown -c >/dev/null 2>&1
	fi

	shutdown -h $scramtime "$scrammsg" &
	;;


    stop)
	# Ok, power is good again. Say so on the console.
	if [ -f $spidpath ]
	then
	    # Only cancel if shutdown is running (system boot will call this)
	    shutdown -c "$okaymsg"
	fi
	;;


    *)
	echo "Usage: /etc/rc.d/init.d/bpowerfail {start|now|stop}" >&2
	exit 1
	;;

esac


exit 0