UPSSCHED.CONF(5) Network UPS Tools (NUT) UPSSCHED.CONF(5)NAMEupssched.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 nor-
mal users can't create the file, due to the possi-
bility 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!
Note 2: by default, upsmon(8) will run upssched as
whatever user you have defined with RUN_AS_USER in
upsmon.conf(8). Make sure that user can create
files and write to files in the path you use for
PIPEFN and LOCKFN.
My recommendation: create a special directory for
upssched, make it owned by your upsmon user, then
use it for both.
The stock version of this file ships with PIPEFN
disabled to make you visit this portion of the doc-
umentation and think about how your system works
before potentially opening a security hole.
LOCKFN filename
REQUIRED. This was added after version 1.2.1.
upssched needs to be able to create this filename
in order to avoid a race condition when two events
are dispatched from upsmon at nearly the same time.
This file will only exist briefly. It must not be
created by any other process.
You should put this in the same directory as
PIPEFN.
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 ALSOupssched(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/
Mon Jan 27 2003 UPSSCHED.CONF(5)