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
Required. This sets the file name of the socket which will be
used for interprocess communications. This should be in a
directory 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!
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 the upssched.conf 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.
LOCKFN filename
Required. upssched attempts to create this file 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.
For a complete list of notifytype possible values, refer to the
section NOTIFY EVENTS in upsmon(8).
SEE ALSO
upssched(8), upsmon(8)
Internet resources:
The NUT (Network UPS Tools) home page: http://www.networkupstools.org/
Wed Sep 2 2009