#!@SCRIPTSHELL@ # # Copyright (C) 1999-2002 Riccardo Facchetti # # for apcupsd release @VERSION@ (@DATE@) - @DISTNAME@ # # @configure_input@ # # # These variables are needed for set up the autoconf other variables. # prefix=@prefix@ exec_prefix=@exec_prefix@ APCPID=@PIDDIR@/apcupsd.pid APCUPSD=@sbindir@/apcupsd SHUTDOWN=@SHUTDOWN@ SCRIPTSHELL=@SCRIPTSHELL@ SCRIPTDIR=@sysconfdir@ # # This piece is to substitute the default behaviour with your own script, # perl, or C program. # You can customize every single command creating an executable file (may be a # script or a compiled program) and calling it the same as the $1 parameter # passed by apcupsd to this script. # # After executing your script, apccontrol continues with the default action. # If you do not want apccontrol to continue, exit your script with exit # code 99. E.g. "exit 99". # # WARNING: the apccontrol file will be overwritten every time you update your # apcupsd, doing `make install'. Your own customized scripts will _not_ be # overwritten. If you wish to make changes to this file (discouraged), you # should change apccontrol.sh.in and then rerun the configure process. # if [ -f ${SCRIPTDIR}/${1} -a -x ${SCRIPTDIR}/${1} ] then ${SCRIPTDIR}/${1} ${2} ${3} ${4} # exit code 99 means he does not want us to do default action if [ $? = 99 ] ; then exit 0 fi fi case "$1" in killpower) printf "UPS now committed to shut down" | wall # echo "Apccontrol doing: ${APCUPSD} --killpower" # sleep 10 # ${APCUPSD} --killpower ;; commfailure) printf "Communications with UPS lost." | wall ;; commok) printf "Communciations with UPS restored." | wall ;; powerout) ;; onbattery) printf "Power failure. Running on UPS batteries." | wall ;; offbattery) printf "Power has returned..." | wall ;; mainsback) if [ -f @PWRFAILDIR@/powerfail ] ; then printf "Continuing with shutdown." | wall fi ;; failing) printf "UPS battery power exhaused. Doing shutdown.\n" | wall ;; timeout) printf "UPS battery runtime limit exceeded. Doing shutdown.\n" | wall ;; loadlimit) printf "UPS battery discharge limit reached. Doing shutdown.\n" | wall ;; runlimit) printf "UPS battery runtime percent reached. Doing shutdown.\n" \ | wall ;; doreboot) printf "Beginning Reboot Sequence" | wall ${SHUTDOWN} -r now "apcupsd initiated reboot" ;; doshutdown) printf "Beginning Shutdown Sequence" | wall ${SHUTDOWN} -h now "apcupsd initiated shutdown" ;; annoyme) printf "Power problems please logoff." | wall ;; emergency) printf "Emergency Shutdown. Possible UPS battery failure." \ | wall ;; changeme) printf "Emergency! UPS batteries have failed\nChange them NOW" \ | wall ;; remotedown) printf "Remote Shutdown.\nBeginning Shutdown Sequence." | wall ;; startselftest) ;; endselftest) ;; battdetach) ;; battattach) ;; *) echo "Usage: ${0##*/} command" echo " warning: this script is intended to be launched by" echo " apcupsd and should never be launched by users." exit 1 ;; esac