Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
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
       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/

Network	UPS Tools 2.8.2.	  04/17/2025		 NUT-DRIVER-ENUMERA(8)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=nut-driver-enumerator&sektion=8&manpath=FreeBSD+Ports+14.3.quarterly>

home | help