Penguin

UPSSCHED

UPSSCHED

NAME SYNOPSIS NOTE DESCRIPTION INTEGRATION CONFIGURATION EARLY SHUTDOWNS DEBOUNCING EVENTS BACKGROUND FILES SEE ALSO


NAME

upssched - Timer helper for scheduling events from upsmon

SYNOPSIS

upssched

NOTE

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

DESCRIPTION

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.

INTEGRATION

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 directly.

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
NOTIFYFLAG ONLINE SYSLOG+EXEC

NOTIFYFLAG ONBATT SYSLOG+EXEC NOTIFYFLAG LOWBATT SYSLOG+EXEC

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

CONFIGURATION

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

EARLY SHUTDOWNS

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

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

DEBOUNCING EVENTS

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.

BACKGROUND

This program was written primarily to fulfill the requests of users for the early shutdown scenario. The

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 environments.

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.

FILES

upssched.conf(5)

SEE ALSO

upsmon(8)

Internet resources:

The NUT (Network UPS Tools) home page: http://www.exploits.org/nut/

NUT mailing list archives and information: http://lists.exploits.org/


This page is a man page (or other imported legacy content). We are unable to automatically determine the license status of this page.