Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
APCCONTROL(8)		    System Manager's Manual		 APCCONTROL(8)

NAME
       apccontrol -- apcupsd(8)	event handler script

SYNOPSIS
       apccontrol { <event> <ups-name> <connected> <powered> }

DESCRIPTION
       When  apcupsd(8)	 detects  anomalies  from  the UPS being monitored, it
       triggers	an event which usually results in one or  more	calls  to  the
       apccontrol  shell  script.  Each	event causes apccontrol	to take	a par-
       ticular action. These actions default to	sane  behaviour	 for  all  the
       events that apcupsd is likely to	encounter. However, you	can change the
       behaviour of every single action.

       When  apcupsd detects an	event, it calls	the apccontrol script with the
       following four arguments:

       event	   This	is the event that occurred. Refer to the list of  pos-
		   sible events	below.

       ups-name	   This	  is   the  name  of  the  UPS	as  specified  in  the
		   /etc/apcupsd/apcupsd.conf configuration file	- not the name
		   in the EEPROM of a smart UPS.

       connected   This	is 1 if	apcupsd	is connected to	the UPS	via  a	serial
		   or  USB port.  In the case of a slave machine where apcupsd
		   is not directly connected to	the UPS, this value will be 0.

       powered	   This	is 1 if	the computer on	which apcupsd  is  running  is
		   powered  by the UPS and 0 if	not. This is not currently im-
		   plemented and always	defaults to 0.

       Events are sent to the system log and,  optionally,  to	the  temporary
       events  file  (/etc/apcupsd/apcupsd.events),  and  they also generate a
       call to apccontrol which	in turn	will call any scripts you have	placed
       in the /etc/apcupsd directory.

   LIST	OF EVENTS AND DEFAULT ACTIONS
       annoyme	    apcupsd generates this event when a	shutdown is scheduled,
		    and	the time specified by the ANNOYME configuration	direc-
		    tive in the	/etc/apcupsd/apcupsd.conf file has expired.

		    Default action -- sends "Power problems please logoff." to
		    wall(1) and	then exits.

       battattach   apcupsd  generates this event when it detects that the UPS
		    battery has	been reconnected after a battdetach event.

		    Default action: does nothing.

       battdetach   apcupsd generates this event when it detects that the  UPS
		    battery has	been disconnected.

		    Default action: does nothing.

       changeme	    apcupsd  generates	this  event  when  it detects that the
		    utility power is on, but the battery  is  not  functioning
		    correctly. This is repeated	every 9	hours.

		    Default  action  --	 sends	"Emergency! UPS	batteries have
		    failed Change them NOW" to wall and	then exits.

       commfailure  apcupsd generates this event each time it loses communica-
		    tion with the monitored UPS. This event is not detected on
		    simple signalling UPSes like the Back-UPS 650.

		    Default action -- sends "Communications with UPS lost." to
		    wall and then exits.

       commok	    apcupsd generates this event  after	 a  commfailure	 event
		    when communication with the	UPS is re-established.

		    Default  action  --	 sends	"Communications	 with  UPS re-
		    stored." to	wall and then exits.

       doreboot	    This event is deprecated and should	not be used.

		    Default action -- sends  "Beginning	 Reboot	 Sequence"  to
		    wall  and then calls shutdown(8) with the "-r now" command
		    line arguments to reboot the computer.

       doshutdown   apcupsd generates this event to shutdown the computer when
		    the	UPS is running on battery power	and one	of the	limits
		    (time, run,	load) is reached.

		    Default  action  --	sends "Beginning Shutdown Sequence" to
		    wall and then calls	shutdown(8) with the command line  ar-
		    guments "-h	now" to	shutdown the computer.

       emergency    apcupsd  generates	this  event when the UPS is on battery
		    power, the battery is low and the utility power is	on:  a
		    sure sign of battery failure!

		    Default  action -- sends "Emergency	Shutdown. Possible UPS
		    battery  failure."	 to  wall.  Immediately	 after	 this,
		    apcupsd  generates a doshutdown event to shutdown the sys-
		    tem.

       failing	    apcupsd generates this event when the UPS  is  running  on
		    batteries and the UPS sets the low battery signal indicat-
		    ing	 that  battery	power  is nearly exhausted. After this
		    event, apcupsd  will  immediately  generate	 a  doshutdown
		    event.

		    Default  action -- sends "UPS battery power	exhausted. Do-
		    ing	shutdown." to wall and then exits.

       killpower    apcupsd does not normally generate this event. Instead, it
		    is invoked directly	from the system	halt script  as	 'apc-
		    control killpower' because the killpower event needs to be
		    performed as late in system	shutdown as possible.

		    Default  action  --	sends "UPS now committed to shut down"
		    to wall, waits for 10 seconds and then issues the  command
		    "apcupsd  --killpower"  to put the UPS into	hibernate mode
		    and	shut off power to the  connected  equipment.   In  the
		    case of a smart UPS, the UPS will then wait	for the	expiry
		    of	any  configured	 shutdown  time	delay specified	by the
		    SLEEP configuration	directive.  In hibernate mode, the UPS
		    will restore utility power to the connected	equipment sub-
		    ject to the	values	specified  for	the  RETURNCHARGE  and
		    WAKEUP configuration directives.

       loadlimit    apcupsd  generates	this  event when the battery discharge
		    limit specified by the BATTERYLEVEL	 configuration	direc-
		    tive has been reached.

		    Default  action  --	 sends	"UPS  battery  discharge limit
		    reached. Doing shutdown" to	wall  and  then	 exits.	 After
		    this event,	apcupsd	will immediately generate a doshutdown
		    event.

       mainsback    apcupsd  generates	this  event when the utility power re-
		    turns after	a powerout event. The doshutdown event may  or
		    may	 not  have  been generated depending on	the parameters
		    you	have defined and the length of the power  outage.  At-
		    tempting  cancellation  of a doshutdown event should never
		    be tried as	it is very unlikely to succeed and will	almost
		    certainly leave your computer in an	indeterminate state.

		    Default action -- if the file  /var/run/powerfail  exists,
		    sends  "Continuing with shutdown." to wall and then	exits.
		    Otherwise, does nothing.

       onbattery    apcupsd generates this event if a power failure  has  been
		    detected  and the UPS is still on battery power at the ex-
		    piry of the	delay specified	by the ONBATTERYDELAY configu-
		    ration directive.

		    Default action -- sends "Power  failure.  Running  on  UPS
		    batteries."	to wall	and then exits.

       offbattery   apcupsd  generates	this  event when the utility power re-
		    turns if, and only if, the onbattery event has been	gener-
		    ated.

		    Default -- sends ""Power has returned..." to wall and then
		    exits.

       powerout	    apcupsd generates this event as soon  as  apcupsd  detects
		    that the UPS has switched to battery power and it is not a
		    self-test.

		    Default action -- does nothing.

       remotedown   apcupsd  generates	this  event on a slave machine when it
		    detects either (1) that the	master has  shutdown,  or  (2)
		    that  an  onbattery	 event	has occurred and communication
		    with the master has	been lost.

		    Default action: sends "Remote Shutdown. Beginning Shutdown
		    Sequence." to wall	and  exits.  Immediately  after	 this,
		    apcupsd  generates a doshutdown event to shutdown the sys-
		    tem.

       runlimit	    apcupsd generates this event when  the  remaining  runtime
		    limit specified by the MINUTES configuration directive ex-
		    pires while	the UPS	is on battery power as the result of a
		    utility  power outage. The remaining runtime is internally
		    calculated by the UPS and monitored	by apcuspd.

		    Default action  --	sends  "UPS  battery  runtime  percent
		    reached.  Doing  shutdown."	 to wall and then exits. After
		    this event,	apcupsd	will immediately generate a doshutdown
		    event.

       timeout	    apcupsd generates this event when the  time	 specified  by
		    the	 TIMEOUT configuration directive expires while the UPS
		    is on battery power	as the result of a utility power  out-
		    age.  This	configuration  directive  is not normally used
		    with smart UPSes which would instead rely on the more  re-
		    liable  remaining  runtime	(MINUTES) or the battery level
		    (BATTERYLEVEL) configuration directives.

		    Default action -- send  "UPS  battery  runtime  limit  ex-
		    ceeded.  Doing  shutdown."	 to wall and then exits. After
		    this event,	apcupsd	will immediately generate a doshutdown
		    event.

       startselftest apcupsd generates this event when it detects the start of
		    a UPS self test.

		    Default action: does nothing.

       endselftest  apcupsd generates this event when it detects the end of  a
		    UPS	self test.

		    Default action: does nothing.

   CUSTOMISING EVENT ACTIONS
       Do  not	modify	apccontrol directly as it will be overwritten the next
       time you	upgrade	to a new release of apcupsd.

       The recommended way to customise	an event action	is simply to create an
       executable program or script file with the same name as the  event  and
       put  that  file	in  the	/etc/apcupsd directory.	Now, when the selected
       event occurs, apccontrol	will execute your program or script.

       If you want apccontrol to also execute its default action for  the  se-
       lected event, your program or script should exit	with an	exit status of
       0 (zero).

       If  you	do  not	want apccontrol	to also	execute	its default action for
       the selected event, your	program	or script must exit with an exit  sta-
       tus of 99. Be aware that	if you completely override the default action,
       you  must ensure	the proper shutdown of your computer if	this is	neces-
       sary.

       Some sample scripts (changeme, commfailure, commok, offbattery and  on-
       battery)	 that  email messages to root instead of broadcasting messages
       to all logged-in	users may be found in /etc/apcupsd after an  installa-
       tion  and  also	in  the	 platforms/etc directory of the	apcupsd	source
       code.

FILES
       /etc/apcupsd/apccontrol

SEE ALSO
       wall(1),	apcupsd.conf(5), apcupsd(8), shutdown(8).

       The HTML	apcupsd	manual installed on your system	or available online at
       http://www.apcupsd.org/

AUTHORS
   This	page
       Trevor Roydhouse

   Software
       Adam Kropelin (current Project Manager and Code Maintainer)
       Kern Sibbald (former Project Manager and	Code Maintainer)
       Riccardo	Facchetti (former Project Manager and Code Maintainer)
       Andre M.	Hedrick	(Project Founder and former Code Maintainer)

   Contributors
       An enormous number of users who have devoted their time and  energy  to
       this project -- thanks.

apccontrol v3.14.6	       January 10, 2009			 APCCONTROL(8)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=apccontrol&sektion=8&manpath=FreeBSD+Ports+14.3.quarterly>

home | help