飞牛nas用便宜ups实现停电自动关机,实测可用!
上篇给大家说了,为了省钱,“开发”了一个飞牛nas上的应用。想买UPS,为了节省100多,我又开发了一个奇怪的飞牛nas应用:网络断开自动关机
今天买的没信号的ups电源收到了,并且做了个实际的测试,确实能用,请看测试视频。
1.1.4版时候就能用,但是每10秒写入一次状态,感觉有点浪费。不停电的时候多,写入的状态都是SUCCESS,没意义。得解决频繁写入问题。
我们核心需求很简单:停电时候nas不断电,应用能发现,通知系统正常关机,并记录下来,方便恢复后可查看,停电信息不被挤没。

改到1.1.9时候,这几个需求都成了。
1、在没有写入文件前,所有的Ping成功记录都存放NAS的内存中。应用在内存中维护了一个列表,Web界面通过API直接读取内存数据,因此响应速度极快且不会产生磁盘 I/O。
2、什么时候会写入磁盘?这几个触发事件会写入硬盘。
Ping失败:一旦出现失败(Warning),立即写入磁盘以防断电丢失异常记录。
触发关机:判定关机(Critical)时,强制刷盘。
手动清理:点击“清理记录”时,同步清空磁盘文件。
应用启动/停止:记录初始状态。 普通的Ping成功记录仅留存在内存中,不会触发写入。
下图可以看出最近一次下发关机命令有置顶,三次Ping失败后同时下发的关机米命令,从第一次Ping失败就已经给磁盘写记录了。大概三分钟后系统和这个服务再次启动我们就看到了完整的信息。

昨天下午,发生了一次真实的停电!昨天还没有收到ups,nas和光猫同时断电!所以,上午10:27我手动断网测试的记录之后,10:29监控启动后,给硬盘写入了一次记录后,其余暂存到内存里的Ping记录全部因为没来得及写入磁盘。我通电开机后,17:16的监控已启动触发了写入磁盘的操作。
这个被动测试,也侧面证明记录和写入的逻辑是正常的,但是不完美。

还有一些要完善的细节,完善好了,再给大家试玩。
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

光之战士
校验提示文案
总裁大叔
校验提示文案
华中张大侠
校验提示文案
无凌两可
校验提示文案
lubin0607
校验提示文案
zhaobin5252
校验提示文案
dingfumxq
校验提示文案
sanyuan_ghos
校验提示文案
值友9391819584
校验提示文案
瓢了么
校验提示文案
wintsa123
校验提示文案
没得取
校验提示文案
中国大将军
校验提示文案
kingofbird
校验提示文案
-毅-
校验提示文案
唐马蠕
校验提示文案
值友3081567424
校验提示文案
中国追梦
校验提示文案
一样的蓝天
校验提示文案
Amoryi
校验提示文案
piku
校验提示文案
奈落_August
校验提示文案
光之战士
校验提示文案
BI4IVE
校验提示文案
中国大将军
校验提示文案
BleachMAX
校验提示文案
Amoryi
校验提示文案
值友7874324068
校验提示文案
一样的蓝天
校验提示文案
唐马蠕
校验提示文案
中国追梦
校验提示文案
没得取
校验提示文案
wintsa123
校验提示文案
瓢了么
校验提示文案
总裁大叔
校验提示文案
zhaobin5252
校验提示文案
kingofbird
校验提示文案
lubin0607
校验提示文案
值友9391819584
校验提示文案
值友3081567424
校验提示文案