UPSSCHED.CONF(5) Network UPS Tools (NUT) UPSSCHED.CONF(5)
NAME
upssched.conf - Configuration for upssched timer program
DESCRIPTION
This file controls the operations of upssched(8), the timer-based helper program for upsmon(8).
CONFIGURATION DIRECTIVES
CMDSCRIPT scriptname
Required. This must be above any AT lines. This script is used to invoke commands when your timers are triggered. It receives a
single argument which is the name of the timer that caused it to trigger.
PIPEFN filename
This sets the file name of the FIFO that will pass communications between processes to start and stop timers. This should be set to
some path where normal users can't create the file, due to the possibility of symlinking and other evil.
NOTE: if you are running Solaris or similar, the permissions that upssched sets on this file are not enough to keep you safe. If
your OS ignores the permissions on a FIFO, then you MUST put this in a protected directory!
Another thing to think about: upsmon doesn't run the NOTIFYCMD as root unless you run it with -p. So, upssched will probably run as
nobody or similar unless you give upsmon another user with -u or RUN_AS_USER in upsmon.conf(5). Either way, you have to set PIPEFN
to something that ONLY the monitoring upsmon user can access.
The stock version of this file ships with PIPEFN disabled to make you visit this portion of the documentation and think about how
your system works before potentially opening a security hole.
AT notifytype upsname command
Define a handler for a specific event notifytype on UPS upsname. upsname can be the special value * to apply this handler to every
UPS.
This will perform the command command when the notifytype and upsname match the current activity. Possible values for command are:
START-TIMER timername interval
Start a timer of interval seconds. When it triggers, it
will pass the argument timername as an argument to your
CMDSCRIPT.
Example:
Start a timer that'll execute when any UPS (*) has been
gone for 10 seconds
AT COMMBAD * START-TIMER upsgone 10
CANCEL-TIMER timername [cmd]
Cancel a running timer called <timername>, if possible.
If the timer has passed then pass the optional argument
<cmd> to CMDSCRIPT.
Example:
If a specific UPS (myups@localhost) comes back online, then
stop the timer before it triggers
AT COMMOK myups@localhost CANCEL-TIMER upsgone
EXECUTE command
Immediately pass <command> as an argument to CMDSCRIPT.
Example:
If any UPS (*) reverts to utility power, then execute
'ups-back-on-line' via CMDSCRIPT.
AT ONLINE * EXECUTE ups-back-on-line
Note that any AT that matches both the notifytype and the upsname for the current event will be used.
SEE ALSO
upssched(8), upsmon(8)
Internet resources:
The NUT (Network UPS Tools) home page: http://www.exploits.org/nut/
NUT mailing list archives and information: http://lists.exploits.org/
Wed Oct 16 2002 UPSSCHED.CONF(5)