UPS 即不间断电源 (Uninterruptible Power Supply),是一种含有储能装置的不间断电源。主要用于给部分对电源稳定性要求较高的设备,提供不间断的电源。
当市电输入正常时,UPS 将市电稳压后供应给负载使用,此时的 UPS 就是一台交流式电稳压器,同时它还向机内电池充电; 当市电中断 (事故停电) 时,UPS 立即将电池的直流电能,通过逆变器切换转换的方法向负载继续供应 220V 交流电,使负载维持正常工作并保护负载软、硬件不受损坏。 UPS 设备通常对电压过高或电压过低都能提供保护。

市面上大多 UPS 不间断电源本身可以通过 USB 通信接口与 UPS 通讯联动,实现控制当市电断电时设备自动关机,当市电恢复时设备自动开机,但是对 UPS 有要求,仅支持带 USB 通信接口的 UPS 。
我们见到的大多 UPS 不间断电源,只有一个 USB 通信接口,只能支持一个 NAS 或服务器设备使用,多个 NAS 、服务器设备或者是 NAS 、服务器设备的 USB 接口被 U 盘、移动硬盘等.. 其他 USB 设备占用后,没有多余的接口,无法使用 USB 接口与 UPS 通讯,一旦停电就只能用手动关机方法。
各位玩家如果不想多买 UPS,可以参考本文方法,使用现有的普通 UPS 不间断电源,实现多台 NAS 、 Server 、服务器、 PC 等… 设备停电自动关机的功能,还不占用机器设备的 USB 接口!
注意:需要 PING 的路由器设备必须接市电,确保断电后无法链接!!!
需要进行 PING 的路由器,不能接在 UPS 不间断电源上,否则一直处在在线状态,就无法起到应有的作用。
创建 Ping 批处理脚本
使用 nano /home/ping.sh 命令,在/home/目录下,创建 ping.sh 批处理程序脚本文件
ping.sh 脚本文件代码如下:
#!/bin/sh
ping -c 1 192.168.5.1 > /dev/null #将 192.168.5.1 改为自己路由器的 IP
ret=$?
if [ $ret -eq 0 ]
then
echo 'AC Power OK !'
else
shutdown -h now
fi
保存:使用 Ctrl + O 来保存所做的修改、退出编辑器:使用 Ctrl + X 退出编辑器
使用 bash /home/ping.sh 命令测试一下,正常状态下显示 AC Power OK ! 内容,程序无 BUG,可以正式投入使用
原理:
- Ping 路由器 IP(这个 IP 根据自己的路由器更改),
- 如果 Ping 通了,说明市电正常
- 回显
AC Power OK !交流电源正常! - 否则,执行
shutdown -h now命令关机
赋予 ping.sh 批处理脚本文件权限
赋予 ping.sh 批处理脚本文件 755 权限,执行命令:chmod 755 /home/ping.sh
登陆并配置定时任务
使用 root 权限登陆 SSH 命令控制界面,假设定时脚本是 ping.sh,输入命令:crontab -e 配置定时任务。
在最后一行增加下面内容
*/3 * * * * /usr/bin/sudo sh /home/ping.sh #每 3 分钟执行 ping.sh 检测一次
保存:使用 Ctrl + O 来保存所做的修改、退出编辑器:使用 Ctrl + X 退出编辑器
可以使用 crontab -l 命令查看定速任务
重启服务开始执行任务
输入命令 reboot 重启设备或重启 Crontab 服务,程序就开始执行了。
- Debian 重启 Crontab 服务命令:
/etc/init.d/cron restart
扩展阅读
- Windows 系统下实现 UPS 不间断电源本地路由断电网络断网自动关机工具
- 本地路由断电 nas 关机工具 (更新 linux 编译版 (群晖适用)) ,https://www.52pojie.cn/thread-1161588-1-1.html