upsd



UPSD(8)                     Network UPS Tools (NUT)                    UPSD(8)




NAME

       upsd - UPS information server


SYNOPSIS

       upsd -h

       upsd [OPTIONS]



DESCRIPTION

       upsd  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 such as start-
       ing tests or setting values back to the drivers.

       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 upsmon(8) trust upsd  for  status  information
       about the UPS hardware, so keep it secure.



OPTIONS

       -c command
              Send  command to the background process as a signal.  Valid com-
              mands are:

                   reload - reread configuration files
                   stop - stop process and exit



       -D     Raise the debug level.  Use this multiple times  for  additional
              details.


       -f     Stay in the foreground for testing.


       -h     Display the help text.


       -i interface
              Bind the listening port to the interface specified by its Inter-
              net address.  This may be useful on hosts with  multiple  inter-
              faces.  You should not rely exclusively on this for security, as
              it can be subverted on many systems.


       -p port
              Listen on TCP port port instead of the default value  which  was
              compiled  into  the code.  This overrides any value you may have
              set with ’configure --with-port’.  If you don’t change  it  with
              configure or this switch, upsd will listen on port 3493.


       -r directory
              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 security.

              You must coordinate this with your drivers, as upsd must be able
              to find the state path within directory.  See  upsdrvctl(8)  and
              nutupsdrv(8).


       -u user
              Switch  to  user  user  after  startup if started as root.  This
              overrides whatever you may  have  compiled  in  with  ’configure
              --with-user’.


       -V     Display the version of the program.



RELOADING

       upsd  can reload its configuration files without shutting down the pro-
       cess 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 mes-
       sages.  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 read them.

       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 com-
       mand your systems to shut down.



DIAGNOSTICS

       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 the clients.

       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 start-
       ing 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.



FILES

       The general upsd configuration file is upsd.conf(5).   The  administra-
       tive  functions  like  SET  and  INSTCMD for users are defined and con-
       trolled in upsd.users(5).  UPS definitions are found in ups.conf(5).



ENVIRONMENT VARIABLES

       NUT_CONFPATH is the path name of the directory that contains  upsd.conf
       and  other configuration files.  If this variable is not set, upsd uses
       a built-in default, which is often /usr/local/ups/etc.

       NUT_STATEPATH is the path name of the directory  in  which  upsd  keeps
       state  information.   If this variable is not set, upsd uses a built-in
       default, which is often /var/state/ups.   The  STATEPATH  directive  in
       upsd.conf overrides this variable.



SEE ALSO

   Clients:
       upsc(8), upscmd(8), upsrw(8), upslog(8), upsmon(8)


   CGI programs:
       upsset.cgi(8), upsstats.cgi(8), upsimage.cgi(8)


   Drivers:
       nutupsdrv(8),  apcsmart(8),  belkin(8),  belkinunv(8), bestuferrups(8),
       bestups(8),  cpsups(8),  cyberpower(8),   energizerups(8),   etapro(8),
       everups(8),    fentonups(8),    genericups(8),   ippon(8),   isbmex(8),
       liebert(8), masterguard(8), mge-shut(8), mge-utalk(8), oneac(8), power-
       com(8),  safenet(8), sms(8), snmp-ups(8), tripplite(8), tripplitesu(8),
       victronups(8),


   Internet resources:
       The NUT (Network UPS Tools) home page: http://www.networkupstools.org/



                                Wed Nov 26 2003                        UPSD(8)

Man(1) output converted with man2html