转载请注明出处,本文仅用于学习交流,不对之处,恳请指正
上一篇介绍了如何安装NUT Server以及配置使用,详情请查阅BK650M2-CH 使用 NUT(一),本篇将介绍如何使用NUT Client来访问NUT Server
安装
# Debian
sudo apt install nut-client
# CentOS
dnf install nut-client
配置/etc/nut/nut.conf
本文件为必须配置的文件,用于指定NUT的工作方法
其字段为: MODE
参数分别为
none: 未配置
standalone: 本地模式
netserver: 服务器模式
netclient: 客户端模式
#备份
mv /etc/nut/nut.conf /etc/nut/nut.conf.bak
# 编辑
nano /etc/nut/nut.conf
参数说明
# 本地模式(单机模式)
# MODE=standalone
# 服务器模式
# MODE=netserver
# 客户端模式
MODE=netclient
配置/etc/nut/upsmon.conf
# 备份
mv /etc/nut/upsmon.conf /etc/nut/upsmon.conf.bak
# 编辑
nano /etc/nut/upsmon.conf
参数说明
### RUN_AS_USER
# 运行upsmon的用户,建议该用户不应具有写入本文件的权限
# 当你希望指定非编译时写入的用户来运行upsmon,且不详使用-u来指定,可以将该用户写入本文件
# 该用户应加入nut群组,并获得本文件的读取权限
# RUN_AS_USER nutmon
#
#
### MONITOR <system> <powervalue> <username> <password> ("master"|"slave")
# 声明监听系统的一些配置
# <system> 为前面设置的UPS名,在其后面应加上@localhost或者其他域名方式,如: ups@localhost
# <powervalue> 电池数量,一般为1
# <username> 用户名,在/etc/nut/upsd.users中所配置的用户名
# <password> 密码,在/etc/nut/upsd.users中所配置的密码
# <master> 运行角色,在/etc/nut/upsd.users中所配置的角色
MONITOR ups@192.168.1.x:3493 1 ups xxxxxxxxxxxxxxxx slave
#
#
### MINSUPPLIES
# 最少保持供电的数量
# 一般家用为1
MINSUPPLIES 1
#
#
### SHUTDOWNCMD
# 关机命令,根据系统进行配置
# 一般为SHUTDOWNCMD "/sbin/shutdown -h +0"
SHUTDOWNCMD "/sbin/shutdown -h +0"
#
#
### NOTIFYCMD
# 通知命令
# 可以用来执行一些脚本,比如发送邮箱什么的
# 其与NOTIFYFLAG相互搭配使用
#
#
### POLLFREQ 正常工作时的轮询频率,过久会导致错过一些短暂的停电信息,过短会导致查询过于频繁,默认为5秒
POLLFREQ 5
#
#
### POLLFREQALERT 正常供电后的轮询频率,官方建议可以比上面的时间久一点。默认为5秒
POLLFREQALERT 5
#
#
### HOSTSYNC
# 主机等待从机断开连接的时间,如果超过这个时间,将无视从机。
# 从机中,该值具有同样效果,如果从机认为UPS状态不佳,需要进行关机处理,则将等待这么长时间以便主机做一些处理,如果,超过这个时间,则无视主机,进行关机。
# 默认值为15
HOSTSYNC 30
#
#
### DEADTIME
# UPSMON需要UPS在每个一段时间内提供状态信息,由POLLFREQ与POLLFREQALERT设置
# 如果超过$DEADTIME没有状态更新,则认为UPS已经"死亡",设备可能会进行关机。
# 官方建议,该数值应该为POLLFREQ与POLLFREQALERT中最大值的三倍,以免UPS永远都是"死亡"的。
DEADTIME 15
#
#
### POWERDOWNFLAG
# 在主系统上强制关闭UPS的标志文件
# 你应该在中检查此文件是否存在
# 默认为 POWERDOWNFLAG /etc/killpower
POWERDOWNFLAG /etc/killpower
#
#
### NOTIFYMSG
# 当UPS事件发生改变时,发送的消息
# 格式为 NOTIFYMSG <类型> "消息"
#
# ONLINE : UPS 重新连接
# ONBATT : UPS 使用电池
# LOWBATT : UPS 电池电量低,如果是使用电池模式,则认为状态严重,可能需要关机
# FSD : UPS 正在被主机关机
# COMMOK : 与UPS建立通信
# COMMBAD : UPS失去通讯
# SHUTDOWN : 系统正在关机
# REPLBATT : UPS电池损坏
# NOCOMM : UPS不可用
# NOPARENT : 关闭系统的进程死亡
#
NOTIFYMSG ONLINE "UPS %s on line power"
NOTIFYMSG ONBATT "UPS %s on battery"
NOTIFYMSG LOWBATT "UPS %s battery is low"
NOTIFYMSG FSD "UPS %s: forced shutdown in progress"
NOTIFYMSG COMMOK "Communications with UPS %s established"
NOTIFYMSG COMMBAD "Communications with UPS %s lost"
NOTIFYMSG SHUTDOWN "Auto logout and shutdown proceeding"
NOTIFYMSG REPLBATT "UPS %s battery needs to be replaced"
NOTIFYMSG NOCOMM "UPS %s is unavailable"
NOTIFYMSG NOPARENT "upsmon parent process died - shutdown
#
#
### NOTIFYFLAG
# 通知的标志,用来当事件发生改变时,改变UPSMON的行为
# 默认情况下,UPSMON写入系统日志以及向所有登录用户发送全局消息(WALL)
# 格式为 NOTIFYFLAG <类型> <标志>+<标志>+...
#
# 标志参数
# SYSLOG - 将消息写入系统日志
# WALL - 发送全局(所有登录用户)消息
# EXEC - 附带消息内容去执行NOTIFYCMD
# IGNORE - 忽略,不做任何事情
NOTIFYFLAG ONLINE SYSLOG+WALL
NOTIFYFLAG ONBATT SYSLOG+WALL
NOTIFYFLAG LOWBATT SYSLOG+WALL
NOTIFYFLAG FSD SYSLOG+WALL
NOTIFYFLAG COMMOK SYSLOG+WALL
NOTIFYFLAG COMMBAD SYSLOG+WALL
NOTIFYFLAG SHUTDOWN SYSLOG+WALL
NOTIFYFLAG REPLBATT SYSLOG+WALL
NOTIFYFLAG NOCOMM SYSLOG+WALL
NOTIFYFLAG NOPARENT SYSLOG+WALL
#
#
### RBWARNTIME
# 更换电池警告时间
# 默认12小时
RBWARNTIME 43200
#
#
### NOCOMMWARNTIME
# 无通讯警告时间
# 默认300秒
NOCOMMWARNTIME 300
#
#
### FINALDELAY
# 关闭系统前的等待时间
# 不能过高,否则可能到UPS电量耗尽前无法完成正确关机
# 如果从机上的FINALDELAY大于主机上的HOSTSYNC,主机将放弃从机,断开连接
# 默认5秒
FINALDELAY 10
#
#
### CERTPATH
# SSL证书路径
#
#
### CERTIDENT
# SSL证书密码
#
#
### CERTHOST
# SSL主机安全属性
#
#
### CERTVERIFY
# SSL证书验证
#
#
### FORCESSL
# 强制UPSMON使用安全证书
# 默认1,false
群晖访问NUT Server
我们依然可以使用群晖自带得UPS功能来访问我们的NUT服务器。
1. 打开控制中心,找到硬件电源的选项,选中其中的UPS选项卡。
2. 配置UPS参数
a) 打开UPS支持
b) 选择USP Server类型
c) 在进入安全模式前倒数5秒钟
d) 输入你的NUT Server所在主机的IP地址
3. 保存后,点击设备信息,如出现以下内容则说明配置成功
文章评论
很详细的NUT使用教程,有一点没有明白请指教,在哪里可以设置关闭系统后关闭ups本身(可以设置具体的时间或者某些参数控制),我目前设置的是电源剩余60%时关闭系统,系统关闭正常但ups本身并没有关闭。
@Tengzi 你可以尝试一下这个命令,但是我没有测试过,/usr/local/ups/bin/upsdrvctl shutdown
只是我觉得没必要强制关闭UPS,因为一般断电就不到半小时,不如保持运行
@Alain 谢谢您的回复,我是windows下安装的nut,是通过conf文件控制的配置,关闭ups我是这么想的,为了来电的时候ups有充足的电量恢复系统,windows系统本身的ups软件是可以停电关机→关闭ups→来电开ups→开机。因为没有测试完全耗尽ups电量,不知道默认的方式能否来电自动开ups
@Tengzi 不清楚您使用的是哪一款UPS,我使用的是APC,APC全系列默认支持来电自启
https://www.apc.com/cn/zh/faqs/FA164999/
@Alain 我也是APC,我是APC BK650-CH,嘿嘿
@Tengzi 那应该问题不大,你可以找机会测试一下