UPSSCHED.CONF(5)                  NUT Manual                  UPSSCHED.CONF(5)



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.

           Caution
           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
           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/



Network UPS Tools                 10/09/2011                  UPSSCHED.CONF(5)
