upsd - UPS information server
is responsible for serving the data from the drivers to the clients.
It connects to each driver and maintains a local cache of the current state.
Queries from the clients are served from this cache, so delays are minimal.
It also conveys administrative messages from the clients back to the drivers,
such as starting tests, or setting values.
Communication between upsd
and clients is handled on a TCP port.
Configuration details for this port are described in upsd.conf
This program is essential, and must be running at all times to actually make any
use out of the drivers and clients.
Controls in the configuration files allow you to limit access to the server, but
you should also use a firewall for extra protection. Client processes such as
(8) trust upsd
for status information about the UPS
hardware, so keep it secure.
to the background process
as a signal. Valid commands are:
reread configuration files
stop process and exit
Raise the debug level. Use this multiple times
for additional details.
Display the help text.
upsd will chroot
(2) to directory
shortly after startup and before parsing any configuration files with this
option set. You can use this to create a "jail" for greater
You must coordinate this with your drivers, as upsd must be able to find the
state path within directory
. See upsdrvctl
Switch to user user after startup if
started as root. This overrides whatever you may have compiled in with
Display the version of the program.
upsd can reload its configuration files without shutting down the process if you
send it a SIGHUP or start it again with -c reload. This only works if the
background process is able to read those files.
If you think that upsd can’t reload, check your syslogs for error
messages. If it’s complaining about not being able to read the files,
then you need to adjust your system to make it possible. Either change the
permissions on the files, or run upsd as another user that will be able to
DO NOT make your upsd.conf or upsd.users world-readable, as those files hold
important authentication information. In the wrong hands, it could be used by
some evil person to spoof your master upsmon and command your systems to shut
upsd expects the drivers to either update their status regularly or at least
answer periodic queries, called pings. If a driver doesn’t answer, upsd
will declare it "stale" and no more information will be provided to
If upsd complains about staleness when you start it, then either your driver or
configuration files are probably broken. Be sure that the driver is actually
running, and that the UPS definition in ups.conf
(5) is correct. Also
make sure that you start your driver(s) before starting upsd.
Data can also be marked stale if the driver can no longer communicate with the
UPS. In this case, the driver should also provide diagnostic information in
the syslog. If this happens, check the serial or USB cabling, or inspect the
network path in the case of a SNMP UPS.
If the server is build with tcp-wrappers support enabled, it will check if the
NUT username is allowed to connect from the client address through the
/etc/hosts.allow and /etc/hosts.deny files. Note that this will only be done
for commands that require to be logged into the server. Further details are
described in hosts_access
The general upsd configuration file is upsd.conf
(5). The administrative
functions like SET and INSTCMD for users are defined and controlled in
(5). UPS definitions are found in ups.conf
is the path name of the directory that contains upsd.conf
and other configuration files. If this variable is not set, upsd
built-in default, which is often /usr/local/ups/etc.
is the path name of the directory in which upsd
keeps state information. If this variable is not set, upsd
built-in default, which is often /var/state/ups. The STATEPATH
directive in upsd.conf
(5) overrides this variable.
The NUT (Network UPS Tools) home page: http://www.networkupstools.org/