]> git.hoellein.online Git - zenbook/commitdiff
committing changes in /etc made by "apt-get install apcupsd"
authorroot <root@localhost>
Tue, 8 Oct 2019 18:28:23 +0000 (20:28 +0200)
committerroot <root@localhost>
Tue, 8 Oct 2019 18:28:23 +0000 (20:28 +0200)
Package changes:
+apcupsd 3.14.14-2 amd64
+apcupsd-doc 3.14.14-2 all

23 files changed:
.etckeeper
apcupsd/apccontrol [new file with mode: 0755]
apcupsd/apcupsd.conf [new file with mode: 0644]
apcupsd/changeme [new file with mode: 0755]
apcupsd/commfailure [new file with mode: 0755]
apcupsd/commok [new file with mode: 0755]
apcupsd/hosts.conf [new file with mode: 0644]
apcupsd/killpower [new file with mode: 0755]
apcupsd/multimon.conf [new file with mode: 0644]
apcupsd/offbattery [new file with mode: 0755]
apcupsd/onbattery [new file with mode: 0755]
apcupsd/ups-monitor [new file with mode: 0755]
default/apcupsd [new file with mode: 0644]
init.d/apcupsd [new file with mode: 0755]
init.d/ups-monitor [new symlink]
rc0.d/K01apcupsd [new symlink]
rc1.d/K01apcupsd [new symlink]
rc2.d/S03apcupsd [new symlink]
rc3.d/S03apcupsd [new symlink]
rc4.d/S03apcupsd [new symlink]
rc5.d/S03apcupsd [new symlink]
rc6.d/K01apcupsd [new symlink]
systemd/system/multi-user.target.wants/apcupsd.service [new symlink]

index 498388c349a211805065d7949062ab0e1d0460e2..28989d0809cfb18c3c6fa956e4fa2dd0af73e191 100755 (executable)
@@ -318,6 +318,18 @@ maybe chmod 0644 'apache2/conf-available/javascript-common.conf'
 maybe chmod 0755 'apache2/mods-available'
 maybe chmod 0644 'apache2/mods-available/dnssd.conf'
 maybe chmod 0644 'apache2/mods-available/dnssd.load'
+maybe chmod 0755 'apcupsd'
+maybe chmod 0755 'apcupsd/apccontrol'
+maybe chmod 0644 'apcupsd/apcupsd.conf'
+maybe chmod 0755 'apcupsd/changeme'
+maybe chmod 0755 'apcupsd/commfailure'
+maybe chmod 0755 'apcupsd/commok'
+maybe chmod 0644 'apcupsd/hosts.conf'
+maybe chmod 0755 'apcupsd/killpower'
+maybe chmod 0644 'apcupsd/multimon.conf'
+maybe chmod 0755 'apcupsd/offbattery'
+maybe chmod 0755 'apcupsd/onbattery'
+maybe chmod 0755 'apcupsd/ups-monitor'
 maybe chmod 0644 'apg.conf'
 maybe chmod 0755 'apm'
 maybe chmod 0755 'apm/event.d'
@@ -1329,6 +1341,7 @@ maybe chmod 0644 'default/acpid'
 maybe chmod 0644 'default/alsa'
 maybe chmod 0644 'default/amd64-microcode'
 maybe chmod 0644 'default/anacron'
+maybe chmod 0644 'default/apcupsd'
 maybe chmod 0644 'default/apport'
 maybe chmod 0644 'default/avahi-daemon'
 maybe chmod 0644 'default/batmand'
@@ -1748,6 +1761,7 @@ maybe chmod 0755 'init.d/acct'
 maybe chmod 0755 'init.d/acpid'
 maybe chmod 0755 'init.d/alsa-utils'
 maybe chmod 0755 'init.d/anacron'
+maybe chmod 0755 'init.d/apcupsd'
 maybe chmod 0755 'init.d/apparmor'
 maybe chmod 0755 'init.d/apport'
 maybe chmod 0755 'init.d/avahi-daemon'
diff --git a/apcupsd/apccontrol b/apcupsd/apccontrol
new file mode 100755 (executable)
index 0000000..a5dee54
--- /dev/null
@@ -0,0 +1,136 @@
+#!/bin/sh
+#
+# Copyright (C) 1999-2002 Riccardo Facchetti <riccardo@master.oasi.gpa.it>
+#
+# platforms/apccontrol.  Generated from apccontrol.in by configure.
+#
+#  Note, this is a generic file that can be used by most
+#   systems. If a particular system needs to have something
+#   special, start with this file, and put a copy in the
+#   platform subdirectory.
+#
+
+#
+# These variables are needed for set up the autoconf other variables.
+#
+prefix=/usr
+exec_prefix=${prefix}
+
+APCPID=/var/run/apcupsd.pid
+APCUPSD=/sbin/apcupsd
+SHUTDOWN=/sbin/shutdown
+SCRIPTSHELL=/bin/sh
+SCRIPTDIR=/etc/apcupsd
+WALL=wall
+
+export SYSADMIN=root
+export APCUPSD_MAIL="mail"
+if [ -f $SCRIPTDIR/config ]; then . $SCRIPTDIR/config ; fi
+
+#
+# Concatenate all output from this script to the events file
+#  Note, the following kills the script in a power fail situation
+#   where the disks are mounted read-only.
+# exec >>/var/log/apcupsd.events 2>&1
+
+#
+# This piece is to substitute the default behaviour with your own script,
+# perl, or C program.
+# You can customize every single command creating an executable file (may be a
+# script or a compiled program) and calling it the same as the $1 parameter
+# passed by apcupsd to this script.
+#
+# After executing your script, apccontrol continues with the default action.
+# If you do not want apccontrol to continue, exit your script with exit 
+# code 99. E.g. "exit 99".
+#
+# WARNING: the apccontrol file will be overwritten every time you update your
+# apcupsd, doing `make install'. Your own customized scripts will _not_ be
+# overwritten. If you wish to make changes to this file (discouraged), you
+# should change apccontrol.sh.in and then rerun the configure process.
+#
+if [ -f ${SCRIPTDIR}/${1} -a -x ${SCRIPTDIR}/${1} ]
+then
+    ${SCRIPTDIR}/${1} ${2} ${3} ${4}
+    # exit code 99 means he does not want us to do default action
+    if [ $? = 99 ] ; then
+       exit 0
+    fi
+fi
+
+case "$1" in
+    killpower)
+       echo "Apccontrol doing: ${APCUPSD} --killpower on UPS ${2}" | (${WALL} 2>/dev/null || cat)
+       sleep 10
+       ${APCUPSD} --killpower
+       echo "Apccontrol has done: ${APCUPSD} --killpower on UPS ${2}" | (${WALL} 2>/dev/null || cat)
+    ;;
+    commfailure)
+       echo "Warning communications lost with UPS ${2}" | ${WALL}
+    ;;
+    commok)
+       echo "Communications restored with UPS ${2}" | ${WALL}
+    ;;
+#
+# powerout, onbattery, offbattery, mainsback events occur
+#   in that order.
+#
+    powerout)
+    ;;
+    onbattery)
+       echo "Power failure on UPS ${2}. Running on batteries." | ${WALL}
+    ;;
+    offbattery)
+       echo "Power has returned on UPS ${2}..." | ${WALL}
+    ;;
+    mainsback)
+       if [ -f /etc/apcupsd/powerfail ] ; then
+          printf "Continuing with shutdown."  | ${WALL}
+       fi
+    ;;
+    failing)
+       echo "Battery power exhausted on UPS ${2}. Doing shutdown." | ${WALL}
+    ;;
+    timeout)
+       echo "Battery time limit exceeded on UPS ${2}. Doing shutdown." | ${WALL}
+    ;;
+    loadlimit)
+       echo "Remaining battery charge below limit on UPS ${2}. Doing shutdown." | ${WALL}
+    ;;
+    runlimit)
+       echo "Remaining battery runtime below limit on UPS ${2}. Doing shutdown." | ${WALL}
+    ;;
+    doreboot)
+       echo "UPS ${2} initiating Reboot Sequence" | ${WALL}
+       ${SHUTDOWN} -r now "apcupsd UPS ${2} initiated reboot"
+    ;;
+    doshutdown)
+       echo "UPS ${2} initiated Shutdown Sequence" | ${WALL}
+       ${SHUTDOWN} -h now "apcupsd UPS ${2} initiated shutdown"
+    ;;
+    annoyme)
+       echo "Power problems with UPS ${2}. Please logoff." | ${WALL}
+    ;;
+    emergency)
+       echo "Emergency Shutdown. Possible battery failure on UPS ${2}." | ${WALL}
+    ;;
+    changeme)
+       echo "Emergency! Batteries have failed on UPS ${2}. Change them NOW" | ${WALL}
+    ;;
+    remotedown)
+       echo "Remote Shutdown. Beginning Shutdown Sequence." | ${WALL}
+    ;;
+    startselftest)
+    ;;
+    endselftest)
+    ;;
+    battdetach)
+    ;;
+    battattach)
+    ;;
+    *) echo "Usage: ${0##*/} command"
+       echo "       warning: this script is intended to be launched by"
+       echo "       apcupsd and should never be launched by users."
+       exit 1
+    ;;
+esac
diff --git a/apcupsd/apcupsd.conf b/apcupsd/apcupsd.conf
new file mode 100644 (file)
index 0000000..76861e0
--- /dev/null
@@ -0,0 +1,343 @@
+## apcupsd.conf v1.1 ##
+# 
+# "apcupsd" POSIX config file
+
+#
+# Note that the apcupsd daemon must be restarted in order for changes to
+# this configuration file to become active.
+#
+
+#
+# ========= General configuration parameters ============
+#
+
+# UPSNAME xxx
+#   Use this to give your UPS a name in log files and such. This
+#   is particulary useful if you have multiple UPSes. This does not
+#   set the EEPROM. It should be 8 characters or less.
+#UPSNAME
+
+# UPSCABLE <cable>
+#   Defines the type of cable connecting the UPS to your computer.
+#
+#   Possible generic choices for <cable> are:
+#     simple, smart, ether, usb
+#
+#   Or a specific cable model number may be used:
+#     940-0119A, 940-0127A, 940-0128A, 940-0020B,
+#     940-0020C, 940-0023A, 940-0024B, 940-0024C,
+#     940-1524C, 940-0024G, 940-0095A, 940-0095B,
+#     940-0095C, 940-0625A, M-04-02-2000
+#
+UPSCABLE usb
+
+# To get apcupsd to work, in addition to defining the cable
+# above, you must also define a UPSTYPE, which corresponds to
+# the type of UPS you have (see the Description for more details).
+# You must also specify a DEVICE, sometimes referred to as a port.
+# For USB UPSes, please leave the DEVICE directive blank. For
+# other UPS types, you must specify an appropriate port or address.
+#
+# UPSTYPE   DEVICE           Description
+# apcsmart  /dev/tty**       Newer serial character device, appropriate for 
+#                            SmartUPS models using a serial cable (not USB).
+#
+# usb       <BLANK>          Most new UPSes are USB. A blank DEVICE
+#                            setting enables autodetection, which is
+#                            the best choice for most installations.
+#
+# net       hostname:port    Network link to a master apcupsd through apcupsd's 
+#                            Network Information Server. This is used if the
+#                            UPS powering your computer is connected to a 
+#                            different computer for monitoring.
+#
+# snmp      hostname:port:vendor:community
+#                            SNMP network link to an SNMP-enabled UPS device.
+#                            Hostname is the ip address or hostname of the UPS 
+#                            on the network. Vendor can be can be "APC" or 
+#                            "APC_NOTRAP". "APC_NOTRAP" will disable SNMP trap 
+#                            catching; you usually want "APC". Port is usually 
+#                            161. Community is usually "private".
+#
+# netsnmp   hostname:port:vendor:community
+#                            OBSOLETE
+#                            Same as SNMP above but requires use of the 
+#                            net-snmp library. Unless you have a specific need
+#                            for this old driver, you should use 'snmp' instead.
+#
+# dumb      /dev/tty**       Old serial character device for use with 
+#                            simple-signaling UPSes.
+#
+# pcnet     ipaddr:username:passphrase:port
+#                            PowerChute Network Shutdown protocol which can be 
+#                            used as an alternative to SNMP with the AP9617 
+#                            family of smart slot cards. ipaddr is the IP 
+#                            address of the UPS management card. username and 
+#                            passphrase are the credentials for which the card 
+#                            has been configured. port is the port number on 
+#                            which to listen for messages from the UPS, normally 
+#                            3052. If this parameter is empty or missing, the 
+#                            default of 3052 will be used.
+#
+# modbus    /dev/tty**       Serial device for use with newest SmartUPS models
+#                            supporting the MODBUS protocol.
+# modbus    <BLANK>          Leave the DEVICE setting blank for MODBUS over USB
+#                            or set to the serial number of the UPS to ensure 
+#                            that apcupsd binds to that particular unit
+#                            (helpful if you have more than one USB UPS).
+#
+UPSTYPE usb
+DEVICE /dev/ttyS0
+
+# POLLTIME <int>
+#   Interval (in seconds) at which apcupsd polls the UPS for status. This
+#   setting applies both to directly-attached UPSes (UPSTYPE apcsmart, usb, 
+#   dumb) and networked UPSes (UPSTYPE net, snmp). Lowering this setting
+#   will improve apcupsd's responsiveness to certain events at the cost of
+#   higher CPU utilization. The default of 60 is appropriate for most
+#   situations.
+#POLLTIME 60
+
+# LOCKFILE <path to lockfile>
+#   Path for device lock file for UPSes connected via USB or
+#   serial port. This is the directory into which the lock file
+#   will be written. The directory must already exist; apcupsd will not create
+#   it. The actual name of the lock file is computed from DEVICE.
+#   Not used on Win32.
+LOCKFILE /var/lock
+
+# SCRIPTDIR <path to script directory>
+#   Directory in which apccontrol and event scripts are located.
+SCRIPTDIR /etc/apcupsd
+
+# PWRFAILDIR <path to powerfail directory>
+#   Directory in which to write the powerfail flag file. This file
+#   is created when apcupsd initiates a system shutdown and is
+#   checked in the OS halt scripts to determine if a killpower
+#   (turning off UPS output power) is required.
+PWRFAILDIR /etc/apcupsd
+
+# NOLOGINDIR <path to nologin directory>
+#   Directory in which to write the nologin file. The existence
+#   of this flag file tells the OS to disallow new logins.
+NOLOGINDIR /etc
+
+
+#
+# ======== Configuration parameters used during power failures ==========
+#
+
+# The ONBATTERYDELAY is the time in seconds from when a power failure
+#   is detected until we react to it with an onbattery event.
+#
+#   This means that, apccontrol will be called with the powerout argument
+#   immediately when a power failure is detected.  However, the
+#   onbattery argument is passed to apccontrol only after the 
+#   ONBATTERYDELAY time.  If you don't want to be annoyed by short
+#   powerfailures, make sure that apccontrol powerout does nothing
+#   i.e. comment out the wall.
+ONBATTERYDELAY 6
+
+# 
+# Note: BATTERYLEVEL, MINUTES, and TIMEOUT work in conjunction, so
+# the first that occurs will cause the initation of a shutdown.
+#
+
+# If during a power failure, the remaining battery percentage
+# (as reported by the UPS) is below or equal to BATTERYLEVEL, 
+# apcupsd will initiate a system shutdown.
+BATTERYLEVEL 5
+
+# If during a power failure, the remaining runtime in minutes 
+# (as calculated internally by the UPS) is below or equal to MINUTES,
+# apcupsd, will initiate a system shutdown.
+MINUTES 3
+
+# If during a power failure, the UPS has run on batteries for TIMEOUT
+# many seconds or longer, apcupsd will initiate a system shutdown.
+# A value of 0 disables this timer.
+#
+#  Note, if you have a Smart UPS, you will most likely want to disable
+#    this timer by setting it to zero. That way, you UPS will continue
+#    on batteries until either the % charge remaing drops to or below BATTERYLEVEL,
+#    or the remaining battery runtime drops to or below MINUTES.  Of course,
+#    if you are testing, setting this to 60 causes a quick system shutdown
+#    if you pull the power plug.   
+#  If you have an older dumb UPS, you will want to set this to less than
+#    the time you know you can run on batteries.
+TIMEOUT 0
+
+#  Time in seconds between annoying users to signoff prior to
+#  system shutdown. 0 disables.
+ANNOY 300
+
+# Initial delay after power failure before warning users to get
+# off the system.
+ANNOYDELAY 60
+
+# The condition which determines when users are prevented from
+# logging in during a power failure.
+# NOLOGON <string> [ disable | timeout | percent | minutes | always ]
+NOLOGON disable
+
+# If KILLDELAY is non-zero, apcupsd will continue running after a
+# shutdown has been requested, and after the specified time in
+# seconds attempt to kill the power. This is for use on systems
+# where apcupsd cannot regain control after a shutdown.
+# KILLDELAY <seconds>  0 disables
+KILLDELAY 0
+
+#
+# ==== Configuration statements for Network Information Server ====
+#
+
+# NETSERVER [ on | off ] on enables, off disables the network
+#  information server. If netstatus is on, a network information
+#  server process will be started for serving the STATUS and
+#  EVENT data over the network (used by CGI programs).
+NETSERVER on
+
+# NISIP <dotted notation ip address>
+#  IP address on which NIS server will listen for incoming connections.
+#  This is useful if your server is multi-homed (has more than one
+#  network interface and IP address). Default value is 0.0.0.0 which
+#  means any incoming request will be serviced. Alternatively, you can
+#  configure this setting to any specific IP address of your server and 
+#  NIS will listen for connections only on that interface. Use the
+#  loopback address (127.0.0.1) to accept connections only from the
+#  local machine.
+NISIP 127.0.0.1
+
+# NISPORT <port> default is 3551 as registered with the IANA
+#  port to use for sending STATUS and EVENTS data over the network.
+#  It is not used unless NETSERVER is on. If you change this port,
+#  you will need to change the corresponding value in the cgi directory
+#  and rebuild the cgi programs.
+NISPORT 3551
+
+# If you want the last few EVENTS to be available over the network
+# by the network information server, you must define an EVENTSFILE.
+EVENTSFILE /var/log/apcupsd.events
+
+# EVENTSFILEMAX <kilobytes>
+#  By default, the size of the EVENTSFILE will be not be allowed to exceed
+#  10 kilobytes.  When the file grows beyond this limit, older EVENTS will
+#  be removed from the beginning of the file (first in first out).  The
+#  parameter EVENTSFILEMAX can be set to a different kilobyte value, or set
+#  to zero to allow the EVENTSFILE to grow without limit.
+EVENTSFILEMAX 10
+
+#
+# ========== Configuration statements used if sharing =============
+#            a UPS with more than one machine
+
+#
+# Remaining items are for ShareUPS (APC expansion card) ONLY
+#
+
+# UPSCLASS [ standalone | shareslave | sharemaster ]
+#   Normally standalone unless you share an UPS using an APC ShareUPS
+#   card.
+UPSCLASS standalone
+
+# UPSMODE [ disable | share ]
+#   Normally disable unless you share an UPS using an APC ShareUPS card.
+UPSMODE disable
+
+#
+# ===== Configuration statements to control apcupsd system logging ========
+#
+
+# Time interval in seconds between writing the STATUS file; 0 disables
+STATTIME 0
+
+# Location of STATUS file (written to only if STATTIME is non-zero)
+STATFILE /var/log/apcupsd.status
+
+# LOGSTATS [ on | off ] on enables, off disables
+# Note! This generates a lot of output, so if         
+#       you turn this on, be sure that the
+#       file defined in syslog.conf for LOG_NOTICE is a named pipe.
+#  You probably do not want this on.
+LOGSTATS off
+
+# Time interval in seconds between writing the DATA records to
+#   the log file. 0 disables.
+DATATIME 0
+
+# FACILITY defines the logging facility (class) for logging to syslog. 
+#          If not specified, it defaults to "daemon". This is useful 
+#          if you want to separate the data logged by apcupsd from other
+#          programs.
+#FACILITY DAEMON
+
+#
+# ========== Configuration statements used in updating the UPS EPROM =========
+#
+
+#
+# These statements are used only by apctest when choosing "Set EEPROM with conf
+# file values" from the EEPROM menu. THESE STATEMENTS HAVE NO EFFECT ON APCUPSD.
+#
+
+# UPS name, max 8 characters 
+#UPSNAME UPS_IDEN
+
+# Battery date - 8 characters
+#BATTDATE mm/dd/yy
+
+# Sensitivity to line voltage quality (H cause faster transfer to batteries)  
+# SENSITIVITY H M L        (default = H)
+#SENSITIVITY H
+
+# UPS delay after power return (seconds)
+# WAKEUP 000 060 180 300   (default = 0)
+#WAKEUP 60
+
+# UPS Grace period after request to power off (seconds)
+# SLEEP 020 180 300 600    (default = 20)
+#SLEEP 180
+
+# Low line voltage causing transfer to batteries
+# The permitted values depend on your model as defined by last letter 
+#  of FIRMWARE or APCMODEL. Some representative values are:
+#    D 106 103 100 097
+#    M 177 172 168 182
+#    A 092 090 088 086
+#    I 208 204 200 196     (default = 0 => not valid)
+#LOTRANSFER  208
+
+# High line voltage causing transfer to batteries
+# The permitted values depend on your model as defined by last letter 
+#  of FIRMWARE or APCMODEL. Some representative values are:
+#    D 127 130 133 136
+#    M 229 234 239 224
+#    A 108 110 112 114
+#    I 253 257 261 265     (default = 0 => not valid)
+#HITRANSFER 253
+
+# Battery charge needed to restore power
+# RETURNCHARGE 00 15 50 90 (default = 15)
+#RETURNCHARGE 15
+
+# Alarm delay 
+# 0 = zero delay after pwr fail, T = power fail + 30 sec, L = low battery, N = never
+# BEEPSTATE 0 T L N        (default = 0)
+#BEEPSTATE T
+
+# Low battery warning delay in minutes
+# LOWBATT 02 05 07 10      (default = 02)
+#LOWBATT 2
+
+# UPS Output voltage when running on batteries
+# The permitted values depend on your model as defined by last letter 
+#  of FIRMWARE or APCMODEL. Some representative values are:
+#    D 115
+#    M 208
+#    A 100
+#    I 230 240 220 225     (default = 0 => not valid)
+#OUTPUTVOLTS 230
+
+# Self test interval in hours 336=2 weeks, 168=1 week, ON=at power on
+# SELFTEST 336 168 ON OFF  (default = 336)
+#SELFTEST 336
diff --git a/apcupsd/changeme b/apcupsd/changeme
new file mode 100755 (executable)
index 0000000..4dfd41f
--- /dev/null
@@ -0,0 +1,17 @@
+#!/bin/sh
+#
+# This shell script if placed in /etc/apcupsd
+# will be called by /etc/apcupsd/apccontrol when apcupsd
+# detects that the battery should be replaced.
+# We send an email message to root to notify him.
+#
+
+HOSTNAME=`hostname`
+MSG="$HOSTNAME UPS $1 battery needs changing NOW."
+#
+(
+   echo "$MSG"
+   echo " "
+   /sbin/apcaccess status
+) | $APCUPSD_MAIL -s "$MSG" $SYSADMIN
+exit 0
diff --git a/apcupsd/commfailure b/apcupsd/commfailure
new file mode 100755 (executable)
index 0000000..d207995
--- /dev/null
@@ -0,0 +1,15 @@
+#!/bin/sh
+#
+# This shell script if placed in /etc/apcupsd
+# will be called by /etc/apcupsd/apccontrol when apcupsd
+# loses contact with the UPS (i.e. the serial connection is not responding).
+# We send an email message to root to notify him.
+#
+
+HOSTNAME=`hostname`
+MSG="$HOSTNAME Communications with UPS $1 lost"
+#
+(
+   echo "$MSG"
+) | $APCUPSD_MAIL -s "$MSG" $SYSADMIN
+exit 0
diff --git a/apcupsd/commok b/apcupsd/commok
new file mode 100755 (executable)
index 0000000..016214c
--- /dev/null
@@ -0,0 +1,17 @@
+#!/bin/sh
+#
+# This shell script if placed in /etc/apcupsd
+# will be called by /etc/apcupsd/apccontrol when apcupsd
+# restores contact with the UPS (i.e. the serial connection is restored).
+# We send an email message to root to notify him.
+#
+
+HOSTNAME=`hostname`
+MSG="$HOSTNAME Communications with UPS $1 restored"
+#
+(
+   echo "$MSG"
+   echo " "
+   /sbin/apcaccess status
+) | $APCUPSD_MAIL -s "$MSG" $SYSADMIN
+exit 0
diff --git a/apcupsd/hosts.conf b/apcupsd/hosts.conf
new file mode 100644 (file)
index 0000000..ecab3c0
--- /dev/null
@@ -0,0 +1,19 @@
+# Network UPS Tools - hosts.conf
+#
+# This file does double duty - it lists the systems that multimon will
+# monitor, and also specifies the systems that upsstats is allowed to 
+# watch.  It keeps people from feeding random addresses to upsstats,
+# among other things.  upsimage also uses this file to know who it 
+# may speak to. upsfstats too.
+#
+# Usage: list systems running upsd that you want to monitor
+#
+# MONITOR <address> "<host description>"
+#
+# Please note, MONITOR must start in column 1 (no spaces permitted)
+#
+# Example: 
+# MONITOR 10.64.1.1 "Finance department"
+# MONITOR 10.78.1.1 "Sierra High School data room #1"
+#
+MONITOR 127.0.0.1 "Local Host"
diff --git a/apcupsd/killpower b/apcupsd/killpower
new file mode 100755 (executable)
index 0000000..7e182b9
--- /dev/null
@@ -0,0 +1,23 @@
+#!/bin/sh
+#
+# This shell script if placed in /etc/apcupsd
+# will be called by /etc/apcupsd/apccontrol before
+# apcupsd kills the power in the UPS. You probably
+# need to edit this to mount read-only /usr and /var,
+# otherwise apcupsd will not run.
+
+# Choose one of this solution
+#mount -n -o ro /usr
+#mount -n -o ro /var
+#
+#mount | awk '/ext2/ { print $3 }' | while read line; do
+#      mount -n -o ro,remount $line
+#done
+#mount | awk '/ext3/ { print $3 }' | while read line; do
+#      mount -n -o ro,remount $line
+#done
+#mount | awk '/reiserfs/ { print $3 }' | while read line; do
+#      mount -n -o ro,remount $line
+#done
+
+exit 0
diff --git a/apcupsd/multimon.conf b/apcupsd/multimon.conf
new file mode 100644 (file)
index 0000000..4cdf9b0
--- /dev/null
@@ -0,0 +1,63 @@
+# Sample multimon configuration file
+#
+# This file is not required.  Without it, multimon will use the default
+# field layout.
+#
+# Temperature selection
+# 
+# Pick "TEMPC" for Celsius or "TEMPF" for Fahrenheit.  This will override
+# the --enable-celsius setting from the compile.  UPSTEMP (below) will 
+# use this setting by default.
+
+TEMPC
+
+# Format:
+# FIELD <variable> "<field name>" "<field suffix>"
+#
+# <variable> is either a word from the UPS protocol like battchg (see the
+# table in src/cgi/upsfetch.c) or a special word in uppercase.  
+#
+# Special words are:
+# MODEL    - Show the model name for this system in cyan
+#
+# STATUS   - Parse the status for this system using the appropriate color
+#
+# UPSTEMP and AMBTEMP use the default scale.  This is set to C if you use
+# --enable-celsius at compile time *or* if you use "TEMPC" above.
+#
+# UPSTEMP  - Show the UPS temperature in the default scale (suffix ignored)
+# AMBTEMP  - Show the ambient temperature in the default scale (suffix ignored)
+#
+# UPSTEMPC - Show the UPS temperature in degrees C (suffix ignored)
+# UPSTEMPF - Show the UPS temperature in degrees F (suffix ignored)
+# AMBTEMPC - Show the ambient temperature in degrees C (suffix ignored)
+# AMBTEMPF - Show the ambient temperature in degrees F (suffix ignored)
+# 
+# They're called "special" since they actually understand the content
+# being printed and do other things based on what's in there.
+# 
+# <field name> is what you'd like this column to be called on the page.
+# Remember that this is HTML, so you can actually embed markup in here.
+# This means you can even include images here.  You can include quotes
+# (and backslashes!) in the string by escaping them with a backslash (\).
+# 
+# <field suffix> is typically something like % or VAC.  It's useful if
+# you want to convey the units that apply to a value.
+#
+# Example config
+
+FIELD SYSTEM "System" ""
+FIELD MODEL "Model" ""
+FIELD STATUS "Status" ""
+FIELD battpct "Battery Chg" "%"
+FIELD utility "Utility" "VAC"
+FIELD loadpct "UPS Load" "%"
+FIELD UPSTEMP "UPS Temp" ""
+FIELD runtime "Batt. Run Time" "min."
+FIELD DATA   "Data" "All data"
+
+# These are only useful if you have a Smart-UPS model with the Measure-UPS II
+# measurement card.  No other models presently support these features.
+# 
+# FIELD AMBTEMP "Ambient Temp" ""
+# FIELD HUMIDITY "Ambient Humidity" "%"
diff --git a/apcupsd/offbattery b/apcupsd/offbattery
new file mode 100755 (executable)
index 0000000..11dd738
--- /dev/null
@@ -0,0 +1,17 @@
+#!/bin/sh
+#
+# This shell script if placed in /etc/apcupsd
+# will be called by /etc/apcupsd/apccontrol when the    
+# UPS goes back on to the mains after a power failure.
+# We send an email message to root to notify him.
+#
+
+HOSTNAME=`hostname`
+MSG="$HOSTNAME UPS $1 Power has returned"
+#
+(
+   echo "$MSG"
+   echo " "
+   /sbin/apcaccess status
+) | $APCUPSD_MAIL -s "$MSG" $SYSADMIN
+exit 0
diff --git a/apcupsd/onbattery b/apcupsd/onbattery
new file mode 100755 (executable)
index 0000000..1789a21
--- /dev/null
@@ -0,0 +1,17 @@
+#!/bin/sh
+#
+# This shell script if placed in /etc/apcupsd
+# will be called by /etc/apcupsd/apccontrol when the UPS
+# goes on batteries.
+# We send an email message to root to notify him.
+#
+
+HOSTNAME=`hostname`
+MSG="$HOSTNAME UPS $1 Power Failure !!!"
+#
+(
+   echo "$MSG"
+   echo " "
+   /sbin/apcaccess status
+) | $APCUPSD_MAIL -s "$MSG" $SYSADMIN
+exit 0
diff --git a/apcupsd/ups-monitor b/apcupsd/ups-monitor
new file mode 100755 (executable)
index 0000000..3253579
--- /dev/null
@@ -0,0 +1,42 @@
+#!/bin/sh
+
+### BEGIN INIT INFO
+# Provides:            ups-monitor
+# Required-Start:
+# Required-Stop:
+# Should-Start:
+# Should-Stop:
+# Default-Start:
+# Default-Stop:
+# Short-Description:   Stop ups-monitor
+# Description:         apcupsd provides UPS power management for APC products.
+### END INIT INFO
+
+# Martin Mitchell <martin@debian.org>
+# modifications by Gordon Morehouse <spambox@evernex.com> April 2001
+#
+# Modified to be "non-blocking" by Bjorn Wiberg <bjorn.wiberg@home.se> 2004-10-21
+# Place this script as /etc/init.d/ups-monitor in order for /etc/init.d/halt to find it!
+
+case "$1" in
+       poweroff | killpower)
+               faildir=$(grep -e^PWRFAILDIR /etc/apcupsd/apcupsd.conf)
+               faildir="${faildir#PWRFAILDIR }"
+
+               if [ -f "${faildir:=/etc/apcupsd}/powerfail" ]; then
+                       echo ""
+                       echo -n "apcupsd: Ordering UPS to kill power... "
+                       /etc/apcupsd/apccontrol killpower
+                       echo "done."
+                       echo ""
+                       echo "Please ensure the UPS has powered off before rebooting."
+                       echo "Otherwise, the UPS may cut the power during the reboot!"
+                       echo ""
+               fi
+       ;;
+
+       *)
+       ;;
+esac
+
+exit 0
diff --git a/default/apcupsd b/default/apcupsd
new file mode 100644 (file)
index 0000000..d59cea0
--- /dev/null
@@ -0,0 +1,3 @@
+# Defaults for apcupsd initscript (unused with systemd as init).
+# Set to "yes" to enable startup of apcupsd.
+ISCONFIGURED=no
diff --git a/init.d/apcupsd b/init.d/apcupsd
new file mode 100755 (executable)
index 0000000..34ee85d
--- /dev/null
@@ -0,0 +1,81 @@
+#!/bin/sh
+
+### BEGIN INIT INFO
+# Provides:            apcupsd
+# Required-Start:      $remote_fs $syslog
+# Required-Stop:       $remote_fs $syslog
+# Should-Start:                $local_fs
+# Should-Stop:         $local_fs
+# Default-Start:       2 3 4 5
+# Default-Stop:                0 1 6
+# Short-Description:   Starts apcupsd daemon
+# Description:         apcupsd provides UPS power management for APC products.
+### END INIT INFO
+
+test -f /lib/lsb/init-functions || exit 1
+. /lib/lsb/init-functions
+
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
+DAEMON=/sbin/apcupsd
+CONFIG=/etc/default/apcupsd
+NAME=apcupsd
+DESC="UPS power management"
+APCACCESS=/sbin/apcaccess
+
+test -x $DAEMON || exit 0
+test -e $CONFIG || exit 0
+
+set -e
+
+. $CONFIG
+
+if [ "x$ISCONFIGURED" != "xyes" ] ;
+then
+       echo "Please check your configuration ISCONFIGURED in /etc/default/apcupsd"
+       exit 0
+fi
+
+
+case "$1" in
+       start)
+               echo -n "Starting $DESC: "
+
+               /lib/apcupsd/prestart
+
+               if [ "`pidof apcupsd`" = "" ]
+               then
+                       start-stop-daemon --start --quiet --exec $DAEMON
+                       echo "$NAME."
+               else
+                       echo ""
+                       echo "A copy of the daemon is still running.  If you just stopped it,"
+                       echo "please wait about 5 seconds for it to shut down."
+                       exit 0
+               fi
+               ;;
+
+       stop)
+               echo -n "Stopping $DESC: "
+               start-stop-daemon --stop --oknodo --pidfile /var/run/apcupsd.pid || echo "Not Running."
+               rm -f /var/run/apcupsd.pid
+               echo "$NAME."
+               ;;
+
+       restart|force-reload)
+               $0 stop
+               sleep 10
+               $0 start
+               ;;
+
+       status)
+               $APCACCESS status
+               ;;
+
+       *)
+               N=/etc/init.d/$NAME
+               echo "Usage: $N {start|stop|restart|force-reload}" >&2
+               exit 1
+               ;;
+esac
+
+exit 0
diff --git a/init.d/ups-monitor b/init.d/ups-monitor
new file mode 120000 (symlink)
index 0000000..d9d64e0
--- /dev/null
@@ -0,0 +1 @@
+../apcupsd/ups-monitor
\ No newline at end of file
diff --git a/rc0.d/K01apcupsd b/rc0.d/K01apcupsd
new file mode 120000 (symlink)
index 0000000..94f456e
--- /dev/null
@@ -0,0 +1 @@
+../init.d/apcupsd
\ No newline at end of file
diff --git a/rc1.d/K01apcupsd b/rc1.d/K01apcupsd
new file mode 120000 (symlink)
index 0000000..94f456e
--- /dev/null
@@ -0,0 +1 @@
+../init.d/apcupsd
\ No newline at end of file
diff --git a/rc2.d/S03apcupsd b/rc2.d/S03apcupsd
new file mode 120000 (symlink)
index 0000000..94f456e
--- /dev/null
@@ -0,0 +1 @@
+../init.d/apcupsd
\ No newline at end of file
diff --git a/rc3.d/S03apcupsd b/rc3.d/S03apcupsd
new file mode 120000 (symlink)
index 0000000..94f456e
--- /dev/null
@@ -0,0 +1 @@
+../init.d/apcupsd
\ No newline at end of file
diff --git a/rc4.d/S03apcupsd b/rc4.d/S03apcupsd
new file mode 120000 (symlink)
index 0000000..94f456e
--- /dev/null
@@ -0,0 +1 @@
+../init.d/apcupsd
\ No newline at end of file
diff --git a/rc5.d/S03apcupsd b/rc5.d/S03apcupsd
new file mode 120000 (symlink)
index 0000000..94f456e
--- /dev/null
@@ -0,0 +1 @@
+../init.d/apcupsd
\ No newline at end of file
diff --git a/rc6.d/K01apcupsd b/rc6.d/K01apcupsd
new file mode 120000 (symlink)
index 0000000..94f456e
--- /dev/null
@@ -0,0 +1 @@
+../init.d/apcupsd
\ No newline at end of file
diff --git a/systemd/system/multi-user.target.wants/apcupsd.service b/systemd/system/multi-user.target.wants/apcupsd.service
new file mode 120000 (symlink)
index 0000000..506fc49
--- /dev/null
@@ -0,0 +1 @@
+/lib/systemd/system/apcupsd.service
\ No newline at end of file