\fBupsdrvctl\fR provides a uniform interface for controlling your UPS drivers\&. You should use upsdrvctl instead of direct calls to the drivers whenever possible\&.
.sp
When used properly, upsdrvctl lets you maintain identical startup scripts across multiple systems with different UPS configurations\&.
.SH"OPTIONS"
.PP
\fB\-h\fR
.RS4
Display the help text\&.
.RE
.PP
\fB\-r\fR\fIdirectory\fR
.RS4
If starting a driver, this value will direct it to
\fBchroot\fR(2) into
\fIdirectory\fR\&. This can be useful when securing systems\&.
.RE
.sp
This may be set in the ups\&.conf with "chroot" in the global section\&.
.PP
\fB\-t\fR
.RS4
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
\fIsdorder\fR
directive in your
\fBups.conf\fR(5)\&.
.RE
.PP
\fB\-u\fR\fIusername\fR
.RS4
If starting a driver, this value will direct it to
\fBsetuid\fR(2) to the user id associated with
\fIusername\fR\&.
.RE
.sp
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\&.
.sp
This may be set in ups\&.conf with "user" in the global section\&.
.PP
\fB\-D\fR
.RS4
Raise the debug level\&. Use this multiple times for additional details\&.
.RE
.SH"COMMANDS"
.sp
upsdrvctl supports three commands \- start, stop and shutdown\&. They take an optional argument which is a UPS name from \fBups.conf\fR(5)\&. Without that argument, they operate on every UPS that is currently configured\&.
Command the UPS driver(s) to run their shutdown sequence\&. Drivers are stopped according to their sdorder value \- see
\fBups.conf\fR(5)\&.
.RE
.ifn\{\
.sp
.\}
.RS4
.it1an-trap
.nran-no-space-flag1
.nran-break-flag1
.br
.ps+1
\fBWarning\fR
.ps-1
.br
.sp
this will probably power off your computers, so don\(cqt play around with this option\&. Only use it when your systems are prepared to lose power\&.
.sp.5v
.RE
.SH"ENVIRONMENT VARIABLES"
.sp
\fBNUT_CONFPATH\fR is the path name of the directory that contains upsd\&.conf and other configuration files\&. If this variable is not set, \fBupsdrvctl\fR the driver use a built\-in default, which is often /usr/local/ups/etc\&.
.SH"DIAGNOSTICS"
.sp
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 \fImaxstartdelay\fR period to enter the background\&.