upssched.conf - Configuration for upssched timer program
This file controls the operations of upssched
(8), the timer-based helper
program for upsmon
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
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.
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!
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.
AT notifytype upsname command
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.
Define a handler for a specific event
on UPS upsname
can be the special
value * to apply this handler to every UPS.
This will perform the command command
when the notifytype
match the current activity. Possible values for command
START-TIMER timername interval
Start a timer of interval
it triggers, it will pass the argument timername
as an argument to your
Start a timer that’ll execute when any UPS (*) has been gone for 10
AT COMMBAD * START-TIMER upsgone 10
Cancel a running timer called
, if possible. If the timer has passed then pass the optional
If a specific UPS (myups@localhost) comes back online, then stop the timer
before it triggers
AT COMMOK myups@localhost CANCEL-TIMER upsgone
Immediately pass command
as an argument
If any UPS (*) reverts to utility power, then execute ups-back-on-line via
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
The NUT (Network UPS Tools) home page: http://www.networkupstools.org/