upssched (5) - Linux Manuals
upssched: Configuration for upssched timer program
NAME
upssched.conf - Configuration for upssched timer programDESCRIPTION
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 [at] localhost) comes back online, then stop the timer before it triggers AT COMMOK myups [at] 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/