设为首页 | 加入收藏

在 Ubuntu 工作站上使用 apcupsd 设置 APC UPS

 您当前正在使用 apcupsd 在 Ubuntu 工作站上设置 APC UPS

如果你有一个  UPS专门用于你的Ubuntu工作站,Ubuntu “电源管理”可以满足你的需求。详见 这篇文章

如果你有一个APC UPS,另一个选择是使用apcupsd,这是一个更先进的工具来管理你的APC UPS。

UPS 保护   计算机 以免受(通常瞬间,但常常危险的)电力浪涌的影响,只需将计算机与 UPS 连接(通常通过 USB 连接)。apcupsd 是一个开源   软件,具有出色的 文档,并且还可以

  1. 在断电后几分钟内优雅地关闭计算机
  2. 当电源恢复时可以强制计算机重启(如果交流电恢复功能受计算机BIOS支持)

您可以使用命令行界面或 网页界面图形界面gapcmon来监控您的UPS。

 

本教程中使用的APC UPS型号是“APC Back UPS BR1500GI RS 1500VA (LI)”。

计算机硬件

 

安装

打开终端并输入

1
sudo apt-get install apcupsd

(有关如何不使用命令行安装软件的信息,请参见这篇文章)。

安装后,目录/etc/apcupsd 包含:

  • 配置文件
    • apcupsd.conf 主配置文件
    • hosts.conf 其他由同一台UPS支持的计算机(为从机提供NIS网络驱动程序)
    • multimon.conf 在网页界面中显示的参数
  • 可执行文件
    • apccontrol 在这里,您将找到apcupsd可以管理的各种事件(停电等)。如果您想进行更改,请不要直接修改此文件,而是创建一个以事件名称命名的脚本并将其放置在/etc/apcupsd (例如自定义脚本/etc/apcupsd/doshutdown将在启用doshutdown事件时首先执行)。
    • changeme 发送邮件以更换UPS电池
    • commfailure 当与UPS的连接丢失时发送电子邮件
    • commok 建立与UPS的连接时发送电子邮件
    • 在电池模式下 当你的电脑使用电池供电时发送邮件
    • onbattery 当你的电脑使用电池(UPS)时发送电子邮件
  • 可执行文件(Debian 特定)
    • ups-monitor Debian创建符号链接 /etc/init.d/ups-monitor → /etc/apcupsd/ups-monitor. 因此,Debian的停止脚本 (/etc/init.d/halt) 执行它。通过这种方式,它在系统关闭后(如果存在文件 /etc/apcupsd/apccontrol -killpower/etc/apcupsd/powerfail ,然后被删除) 杀死UPS的电源
    • killpower 任何需要在UPS断电前执行的操作(apcupsd -killpower)
  • 临时文件
    • powerfail apcupsd 在系统关机前创建的“标志文件”,以便告知停止脚本此次关机是由于停电(电源故障)

关于发送电子邮件的可执行文件

如果你需要这种电子邮件功能,你必须安装一个消息传输代理 (MTA)。一个轻量级的选择是 exim

软件

 

1
sudo apt-get install exim4

此外,您需要转发root邮件到您的 电子邮件,因为 apcupsd 默认会发送邮件到 sysadmin

此帖了解详情。

关于不间断电源“杀电”

USB UPS的电源中断将在计算机关闭60秒后进行。否则,您需要在UPS的EEPROM中进行更改(不推荐)。

配置

步骤 1 – 编辑主配置文件

首先,创建主配置文件的备份:

电源

 

1
sudo cp /etc/apcupsd/apcupsd.conf /etc/apcupsd/apcupsd.conf.bak

使用你最喜欢的文本编辑器(我的情况是nano):

1
sudo nano /etc/apcupsd/apcupsd.conf

查找和编辑

  • 上行电缆上行类型设备
  • 并可选地电池电量和 分钟

在大多数模型中,以下更改已经足够。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
十六
17
18
十九
20
21
22
23
24
25
26
27
28
29
三十
31
32
## apcupsd.conf v1.1 ##
#
#  for apcupsd release 3.14.12 (29 March 2014) - debian
#
# "apcupsd" POSIX config file
 
#
# ========= General configuration parameters ============
#
...
UPSCABLE usb
...
UPSTYPE usb
...
#DEVICE /dev/ttyS0
 
#
# ======== Configuration parameters used during power failures ==========
#
 
# 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 30
...
# 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 10

步骤 2 – 编辑 /etc/default/apcupsd

使用你最喜欢的文本编辑器(我的情况是nano):

电脑组件

 

1
sudo nano /etc/default/apcupsd

设置:

1
2
3
...
ISCONFIGURED=yes
...

步骤 3 – 最后,重启 apcupsd

打开终端并输入:

1
sudo systemctl restart apcupsd.service

查看日志

要查看apcupsd日志,请打开终端并输入:

Linux & Unix

 

1
tail /var/log/apcupsd.events

命令行界面

获取您的  UPS状态信息,请使用命令:

1
apcaccess

所以,在我的工作站(名为“athena”)中,输出是:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
十六
17
18
十九
20
21
22
23
24
25
26
27
28
29
三十
31
32
33
34
35
36
37
APC      : 001,036,0875
DATE     : 2016-12-10 18:08:03 +0200
HOSTNAME : athena
VERSION  : 3.14.12 (29 March 2014) debian
UPSNAME  : athena
CABLE    : USB Cable
DRIVER   : USB UPS Driver
UPSMODE  : Stand Alone
STARTTIME: 2016-12-10 10:12:12 +0200
MODEL    : Back-UPS RS 1500G
STATUS   : ONLINE
LINEV    : 224.0 Volts
LOADPCT  : 10.0 Percent
BCHARGE  : 100.0 Percent
TIMELEFT : 66.7 Minutes
MBATTCHG : 40 Percent
MINTIMEL : 15 Minutes
MAXTIME  : 0 Seconds
SENSE    : Medium
LOTRANS  : 176.0 Volts
HITRANS  : 294.0 Volts
ALARMDEL : No alarm
BATTV    : 27.2 Volts
LASTXFER : Unacceptable line voltage changes
NUMXFERS : 0
TONBATT  : 0 Seconds
CUMONBATT: 0 Seconds
XOFFBATT : N/A
SELFTEST : NO
STATFLAG : 0x05000008
SERIALNO : 3Q1106X37131
BATTDATE : 2012-07-05
NOMINV   : 230 Volts
NOMBATTV : 24.0 Volts
NOMPOWER : 865 Watts
FIRMWARE : 878.L4 .I USB FW:L4
END APC  : 2016-12-10 18:08:05 +0200

网页界面

apcupsd 提供了一个方便的网页界面来监控你的 UPS。要安装它,请打开终端并键入

计算机服务器

 

1
sudo apt-get install apcupsd-cgi

当然,使用网页界面需要一个网页服务器。例如,安装Apache(如果未安装):

1
sudo apt-get install apache2

要访问网页界面,请将浏览器指向

计算机硬件

 

http://localhost/cgi-bin/apcupsd/multimon.cgi

这里是主页:

要获取详细信息,请点击“本地主机”链接

“所有数据”链接类似于 apcaccess 输出

电源

 

图形界面 (gapcmon)

不幸的是gapcmon尚不可用于最新的 Ubuntu版本(如 Xenial 16.04 等)。详情请见这里

软件

 

然而,这是主屏幕的外观:

历史概要部分

计算机服务器

 

详细信息部分

测试您的不间断电源

步骤 1

将 TIMEOUT 参数从 0 修改为 60,以强制  计算机 在断电后 60 秒内关机,而不是在电池耗尽前继续运行。

Linux & Unix

 

1
sudo nano /etc/apcupsd/apcupsd.conf
1
2
3
...
TIMEOUT 60
...

重启apcupsd服务:

1
sudo systemctl restart apcupsd.service

步骤 2

断开不间断电源的电源。您的计算机将在60秒内关闭。

电源

 

步骤 3

重置超时参数

1
sudo nano /etc/apcupsd/apcupsd.conf
1
2
3
...
TIMEOUT 0
...

重启apcupsd服务:

 

1
sudo systemctl restart apcupsd.service

地址:北京市昌平区枫丹丽舍西路2号楼116 邮编:100096 邮箱:batteryltd@sina.com
手机:13146158791
©CopyRight 官网授权 APC UPS(中国)运营中心