(黑)群晖与威联通(QNAP)共用ups--基于群晖6.2.3
之前写过单ups支持多设备,就是这篇https://post.smzdm.com/p/av7o5r9n/
不过当时用的是6.1.7版本,最近感觉6.2.3版本比较稳定了,就升级了上来,升上来之后就发现群晖修改了下nut的启动脚本,原来的方式不能用了。。。。。
于是花了点时间琢磨了下,最终还是成功了,这边跟大家分享下
首先6.2.3的启动脚本仍然是/usr/syno/etc/rc.sysv/ups-net.sh
不过内容与617的稍有变化,看上图标注的地方,之前的sed操作不见了
。。。。
取而代之的是CheckUpsmonConf和StatClient
应该是优化了下脚本,把之前的操作提取了方法
,不过不在当前脚本里面
稍微找了下,发现应该是在 /usr/syno/bin/synoupscommon这个脚本里
vim 编辑打开如下
大概在141行得到地方能看到CheckUpsmonConf()这个方法的具体实现
在156、163行能看到熟悉的sed语句,我们这边是修改远程模式,所以修改163行的就可以了,
想要连接qnap修改为
qnapups@${UpsmonServer} 1 admin 123456 slave
保存退出即可
到群晖控制面板重启下ups,应该就可以连接上了
面板仍然会显示无法联机,这个我找了下,
在查看日志时发现这么一句
SystemInfo.cgi: ups_info_get.c:97 Can't get UPS status[1]
猜测是通过SystemInfo.cgi去调用命令实现,所以这儿估计就没法修改了
,当然有知道的大佬可以告知下
如何查看是否成功呢?
1 去查看日志
cat /var/log/messages
可以看到连接成功的log,如图
2 使用命令
upsc -c upsname@ups_host
可以看到ups客户端的ip,目前只有一个客户端,就是本机
其实到这里应该就能正常使用了,不过我在查找ups相关脚本还发现了这个
在/usr/syno/bin/synoups这个脚本里
这个脚本提供一些开启、关闭、重启ups服务的方法
其中有一个UPSStatusGet()
采用upsc 命令去获取当前连接的ups的状态
这个方法在ups关闭、重启、进入安全模式等时候会被调用,用来二次判断ups状态,若处于OL(online)正常状态就直接return,默认情况下连接qnap的ups是获取不到任何状态值的,所以关机应该也没啥异常
不过发现了就改了吧
直接把ups改为qnapups
保存,重启服务,ok









liangfuwang
校验提示文案
枫晓天
校验提示文案
探海野猫
校验提示文案
木根
校验提示文案
值友3053282357
校验提示文案
UC新闻震惊部
校验提示文案
UC新闻震惊部
校验提示文案
木根
校验提示文案
探海野猫
校验提示文案
枫晓天
校验提示文案
liangfuwang
校验提示文案
值友3053282357
校验提示文案