Provided by: nut-server_2.8.3-2_amd64 

NAME
nut-driver-enumerator - Tool to map NUT device entries to service instances
SYNOPSIS
nut-driver-enumerator.sh -h
nut-driver-enumerator.sh (no args)
nut-driver-enumerator.sh [--COMMAND]
DESCRIPTION
nut-driver-enumerator.sh implements the set-up and querying of the mapping between NUT driver
configuration sections for each individual monitored device, and the operating system service management
framework service instances into which such drivers are wrapped for independent execution and management
(on platforms where NUT currently supports this integration — currently this covers Linux distributions
with systemd and systems derived from Solaris 10 codebase, including proprietary Sun/Oracle Solaris and
numerous open-source illumos distributions with SMF). It may be not installed in packaging for other
operating systems.
This script provides a uniform interface for further NUT tools such as upsdrvsvcctl(8) to implement their
logic as platform-independently as was possible and practical. It is not currently intended for end-user
consumption (and so is located in the libexec directory), with upsdrvsvcctl exposing the most useful data
and actions with its list and resync arguments.
One part of the platform complexity that nut-driver-enumerator.sh hides is the difference of rules for
valid service instance names in various frameworks, as well as system tools and naming patterns involved.
COMMANDS
nut-driver-enumerator.sh (no args)
Update wrapping of devices into services
nut-driver-enumerator.sh --daemon(=freq)
Update wrapping of devices into services in an infinite loop; Default freq is 60 sec.
nut-driver-enumerator.sh --daemon-after(=freq)
Update wrapping of devices into services in an infinite loop; first do one run of the loop though,
then daemonize (this way service unit is deemed started only when NUT config and driver instances are
in sync). Default freq is 60 sec.
nut-driver-enumerator.sh --reconfigure
Stop and un-register all service instances and recreate them (e.g. if new dependency template was
defined in a new version of the script or package)
nut-driver-enumerator.sh --get-service-framework
Print the detected service management framework in this OS
nut-driver-enumerator.sh --list-devices
Print list of devices in NUT config
nut-driver-enumerator.sh --list-services
Print list of service instances which wrap registered NUT devices (full name of service unit)
nut-driver-enumerator.sh --list-instances
Print list of service instances which wrap registered NUT devices (just instance suffix)
nut-driver-enumerator.sh --get-service-for-device DEV
Print the full name of service unit which wraps a NUT device named DEV
nut-driver-enumerator.sh --get-device-for-service SVC
Print the NUT device name for full or instance-suffix name of a service unit SVC which wraps it
nut-driver-enumerator.sh --list-services-for-devices
Print a TAB-separated list of service units and corresponding NUT device names which each such unit
wraps
nut-driver-enumerator.sh --show-all-configs
Show the complete normalized list of device configuration blocks (same as used later by the parser in
the script to make decisions)
nut-driver-enumerator.sh --show-device-config DEV
Show configuration block of the specified NUT device
nut-driver-enumerator.sh --show-device-config-value DEV KEY
Show single configuration key of the specified NUT device
ENVIRONMENT VARIABLES
By default nut-driver-enumerator.sh executed without arguments would automatically start any newly
registered service instances wrapping the NUT devices, and would also restart the nut-server service if
the configuration was changed. Environment variable AUTO_START=no disables this default part of the
action.
Also see below for environment variable REPORT_RESTART_42=no value.
DIAGNOSTICS
nut-driver-enumerator.sh will return a zero exit code if it had nothing to do (all currently defined
drivers match all of the currently defined service instances, one-to-one) and if it had no errors in its
operation.
Other codes can be returned as a result of re-synchronization of mappings:
42
NUT device sections and system service instances differed before, but now match up — so now the
caller should likely restart some services. Note that the drivers' service instances may have been
started or stopped as required (by AUTO_START=yes) — but maybe the upsmon or upssched services should
restart. If you pass environment variable REPORT_RESTART_42=no then this codepath would return 0 (as
a non-error exit code). In default mode, such non-null reconfiguration should cause the
nut-driver-enumerator service to restart and this would propagate to other NUT services that depend
on it.
13
Sections and services differed, and still do not match up
1
Bad inputs, e.g. unrecognized service management framework
2
Absent or unreadable ups.conf file
AUTHOR
Jim Klimov <jimklimov+nut@gmail.com>
SEE ALSO
upsdrvsvcctl(8), ups.conf(5)
Internet resources:
The NUT (Network UPS Tools) home page: https://www.networkupstools.org/historic/v2.8.3/
Network UPS Tools 2.8.3 07/08/2025 NUT-DRIVER-ENUMERA(8)