Man Linux: Main Page and Category List


       upssched - Timer helper for scheduling events from upsmon




       upssched  should  be  run from upsmon(8) via the NOTIFYCMD.  You should
       never run it directly during normal operations.


       upssched was created to  allow  users  to  execute  programs  at  times
       relative  to events being monitored by upsmon(8).  The original purpose
       was to allow for a  shutdown  to  occur  after  some  fixed  period  on
       battery, but there are other uses that are possible.


       upssched  needs  to  be called as the NOTIFYCMD in your upsmon.conf(5).
       It determines what is happening based on  the  UPSNAME  and  NOTIFYTYPE
       environment  variables.   You  should  never  have  to  deal  with them

       Set the EXEC flag on the events that you want to see in upssched.   For
       example,  to  make  sure  that  upssched hears about ONLINE, ONBATT and
       LOWBATT events, the flags would look like this:

                   NOTIFYFLAG ONLINE EXEC
                   NOTIFYFLAG ONBATT EXEC
                   NOTIFYFLAG LOWBATT EXEC

       If you also want to continue writing to the syslog, just add it in:


       For a full list of notify flags, see the upsmon(8) documentation.


       See upssched.conf(5) for information on configuring this program.


       To shut down the system early, define a timer that  starts  due  to  an
       ONBATT  condition.   When  it  triggers,  make your CMDSCRIPT call your
       shutdown routine.  It should finish by calling "upsmon -c fsd" so  that
       upsmon gets to shut down the slaves in a controlled manner.

       Be sure you cancel the timer if power returns (ONLINE).


       If  your  UPS  goes  on  and  off  battery frequently, you can use this
       program to reduce the number of  pager  messages  that  are  sent  out.
       Rather  than  sending  pages directly from upsmon(8), use a short timer
       here.  If the timer triggers with the UPS still on battery,  then  send
       the page.  If the power returns before then, the timer can be cancelled
       and no page is necessary.


       This program was written primarily to fulfill the requests of users for
       the  early  shutdown  scenario.   The  "outboard" design of the program
       (relative to upsmon) was intended to reduce the  load  on  the  average
       system.   Most people don't have the requirement of shutting down after
       n seconds on battery, since the usual OB+LB testing is sufficient.

       This program was created separately so those people don't have to spend
       CPU  time  and  RAM  on  something  that  will  never  be used in their

       The design of the timer  handler  is  also  geared  towards  minimizing
       impact.   It will come and go from the process list as necessary.  When
       a new timer is started, a process will be forked to actually watch  the
       clock and eventually start the CMDSCRIPT.  When a timer triggers, it is
       removed from the queue.  Cancelling a timer will also  remove  it  from
       the  queue.   When  no  timers are present in the queue, the background
       process exits.

       This means that you will only see upssched  running  when  one  of  two
       things is happening:

       - There's a timer of some sort currently running

       - upsmon just called it, and you managed to catch the brief instance

       The  final  optimization  handles the possibility of trying to cancel a
       timer when there are none running.  If the timer daemon isn't  running,
       there  are  no  timers  to  cancel, and furthermore there is no need to
       start a clock-watcher.  So, it skips that step and exits sooner.





   Internet resources:
       The NUT (Network UPS Tools) home page:

                                Wed Feb  6 2002