table of contents
- Tumbleweed 2.8.4-1.1
- Leap-16.0
NUT-DRIVER-ENUMERA(8) | NUT Manual | NUT-DRIVER-ENUMERA(8) |
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¶
The nut-driver-enumerator.sh (also known as "NDE") script implements the set-up and querying of the mapping between NUT driver configuration sections for each individual monitored device, and the service instances of an operating system service management framework (on platforms where NUT already 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), into which such drivers are wrapped for independent execution and management. It may be not installed in packaging for other operating systems.
With each NUT driver represented as a separate service instance, dependencies can be defined (e.g. networked drivers must start after the network ability appears in the OS, but USB/Serial drivers should not wait for that), and they can fail or be brought into maintenance independently (unlike a monolithic service based on upsdrvctl(8) requiring everything configured to be started). For a few special drivers like dummy-ups(8), clone(8), clone-outlet(8), and failover(8) this may also involve a dependency between service instances of different NUT drivers themselves.
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.
Depending on the platform, the script may also be wrapped by different service unit types to run automatically (e.g. upon system start-up, or regularly to pick up changes of ups.conf(5) soon after it is edited, or integrated with a file system monitor to be triggered when the configuration is changed). Some of these modes make sense for use-cases with a rarely (if ever) changing population of power devices, e.g. a home or small-office UPS monitored same way for years at a time; others can help automate a data-center monitoring system where device deployments (or discovery) can be much more dynamic.
COMMANDS¶
nut-driver-enumerator.sh (no args)
nut-driver-enumerator.sh --daemon(=freq)
nut-driver-enumerator.sh --daemon-after(=freq)
nut-driver-enumerator.sh --reconfigure
nut-driver-enumerator.sh --get-service-framework
nut-driver-enumerator.sh --list-devices
nut-driver-enumerator.sh --list-services
nut-driver-enumerator.sh --list-instances
nut-driver-enumerator.sh --get-service-for-device DEV
nut-driver-enumerator.sh --get-device-for-service SVC
nut-driver-enumerator.sh --list-services-for-devices
nut-driver-enumerator.sh --show-all-configs
nut-driver-enumerator.sh --show-device-config DEV
nut-driver-enumerator.sh --show-device-config-value DEV KEY
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
13
1
2
AUTHOR¶
Jim Klimov <jimklimov+nut@gmail.com>
SEE ALSO¶
Internet resources:¶
The NUT (Network UPS Tools) home page: https://www.networkupstools.org/historic/v2.8.4/
08/12/2025 | Network UPS Tools 2.8.4 |