UPSDRVCTL(8) 
============

NAME
----

upsdrvctl - UPS driver controller

SYNOPSIS
--------
*upsdrvctl* -h

*upsdrvctl* ['OPTIONS'] {start | stop | shutdown} ['ups']

DESCRIPTION
-----------

*upsdrvctl* provides a uniform interface for controlling your UPS drivers.
You should use upsdrvctl instead of direct calls to the drivers
whenever possible.

When used properly, upsdrvctl lets you maintain identical startup
scripts across multiple systems with different UPS configurations.

Note: For operating systems with service management frameworks, such as
Solaris SMF or Linux systemd, the *upsdrvsvcctl* may be a better choice.

OPTIONS
-------

*-h*::
Display the help text.

*-r* 'directory'::
If starting a driver, this value will direct it to *chroot*(2) into
'directory'.  This can be useful when securing systems.

This may be set in the ups.conf with "chroot" in the global section.

*-t*::
Enable testing mode.  This also enables debug mode.  Testing mode makes
upsdrvctl display the actions it would execute without actually doing them.
Use this to test out your configuration without actually doing anything
to your UPS drivers.  This may be helpful when defining the 'sdorder'
directive in your linkman:ups.conf[5].

*-u* 'username'::
If starting a driver, this value will direct it to *setuid*(2) to
the user id associated with 'username'.

If the driver is started as root without specifying this value, it will
use the username that was compiled into the binary.  This defaults to
"nobody", and is far from ideal.

This may be set in ups.conf with "user" in the global section.

*-D*::
Raise the debug level.  Use this multiple times for additional details.

COMMANDS
--------

upsdrvctl supports three commands - start, stop and shutdown.  They take
an optional argument which is a UPS name from linkman:ups.conf[5].
Without that argument, they operate on every UPS that is currently
configured.

*start*::
Start the UPS driver(s). In case of failure, further attempts may be executed
by using the 'maxretry' and 'retrydelay' options - see linkman:ups.conf[5].

*stop*::
Stop the UPS driver(s).

*shutdown*::
Command the UPS driver(s) to run their shutdown sequence.  Drivers are
stopped according to their sdorder value - see linkman:ups.conf[5].

WARNING: this will probably power off your computers, so don't
play around with this option.  Only use it when your systems are prepared
to lose power.

NOTE: refer to linkman:ups.conf[5] for using the *nowait* parameter.

ENVIRONMENT VARIABLES
---------------------

*NUT_CONFPATH* is the path name of the directory that contains
`upsd.conf` and other configuration files.  If this variable is not set,
*upsdrvctl* the driver use a built-in default, which is often
`/usr/local/ups/etc`.

DIAGNOSTICS
-----------

upsdrvctl will return a nonzero exit code if it encounters an error
while performing the desired operation.  This will also happen if a
driver takes longer than the 'maxstartdelay' period to enter the
background.

SEE ALSO
--------
linkman:upsdrvsvcctl[8], linkman:nutupsdrv[8], linkman:upsd[8], linkman:ups.conf[5]

Internet resources:
~~~~~~~~~~~~~~~~~~~
The NUT (Network UPS Tools) home page: http://www.networkupstools.org/
