NAME
upscmd - UPS administration program for instant commands
SYNOPSIS
Note
|
Two NUT websites
This version of the page reflects NUT release v2.8.1 with codebase commited 4ba352d8f at 2023-10-31T21:46:20+01:00 Options, features and capabilities in current development (and future releases) are detailed on the main site and may differ from ones described here. |
upscmd -h
upscmd -l ups
upscmd [-u username] [-p password] [-w] [-t <timeout>] ups command
DESCRIPTION
upscmd allows you to invoke "instant commands" in your UPS hardware. Not all hardware supports this, so check the list with -l to see if anything will work on your equipment.
On hardware that supports it, you can use this program to start and stop battery tests, invoke a front panel test (beep!), turn the load on or off, and more.
OPTIONS
- -h
-
Display the help message.
- -l ups
-
Show the list of supported instant commands on that UPS. Some hardware may not support any of them.
- -u username
-
Set the username for the connection to the server. This is optional, and you will be prompted for this when invoking a command if -u is not used.
- -p password
-
Set the password to authenticate to the server. This is also optional like -u, and you will be prompted for it if necessary.
- -w
-
Wait for the completion of command execution by the driver and return its actual result from the device. Note that this feature requires that both upsd and the driver support TRACKING (NUT version 2.8.0 or higher) or it will otherwise fail. The command will also block until an actual result is provided from the driver, or the timeout is reached (see -t).
- -t seconds
-
Set a timeout when using -w. Defaults to 10 seconds.
- ups
-
Connect to this UPS. The format is
upsname[@hostname[:port]]
. The default hostname is "localhost".
UNATTENDED MODE
If you run this program inside a shell script or similar to invoke a command, you will need to specify all of the information on the command line. This means using -u and -p. Otherwise it will put up a prompt and your program will hang.
This is not necessary when displaying the list, as the username and password are not required for read-only mode.
Moreover, if you run this program inside a shell script or similar, you should only consider using output from stdout, not stderr.
DANGEROUS COMMANDS
Some drivers like apcsmart(8) have built-in paranoia for the
dangerous commands like load.off
. To make them actually turn off the
load, you will have to send the command twice within a short window.
That is, you will have to send it once, then send it again after 3
seconds elapse but before 15 seconds pass.
This paranoia is entirely defined within the driver. upsd and upscmd have no control over the timing.
DIAGNOSTICS
upscmd won’t work unless you provide a valid username and password. If you get "access denied" errors, make sure that your upsd.users(5) has an entry for you, and that the username you are using has permissions to SET variables.
BUGS
There is currently no way to tell the user when the driver requires
confirmation to invoke a command such as load.off
.
This is on the list of things to fix in the future, so don’t despair. It involves magic cookies.
SEE ALSO
Internet resources:
The NUT (Network UPS Tools) home page: https://www.networkupstools.org/