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.
SEE ALSO
upssched(8),
upsmon(8)
Internet resources:
The NUT (Network UPS Tools) home page:
http://www.networkupstools.org/
Index
- NAME
-
- DESCRIPTION
-
- CONFIGURATION DIRECTIVES
-
- SEE ALSO
-
- Internet resources:
-