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 不间断电源上,否则一直处在在线状态,就不起到应有的作用了。
登陆并配置定时任务
使用 root 权限
登陆 SSH 命令控制界面,假设定时脚本是 ping.sh
,输入命令:crontab -e
配置定时任务。
在最后一行增加下面内容
*/5 * * * * /usr/bin/sudo sh /home/ping.sh #5 分钟 PING 检测一次
按 ctrl + x
保存
创建 ping.sh 批处理脚本文件
在 /home/
目录下,创建 ping.sh
批处理程序脚本文件
nano /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 + x
保存
测试一下, 程序无 BUG,可以正式投入使用
赋予 ping.sh 批处理脚本文件权限
赋予 ping.sh
批处理脚本文件 755 权限,执行命令:chmod 755 /home/ping.sh
重启服务开始执行任务
输入命令 reboot
重启设备,程序就开始执行了。
或 重启 Crontab
服务
- Debian 重启 Crontab 服务命令:
/etc/init.d/cron restart
- Centos 重启 Crontab 服务命令:
/sbin/service crond restart
原理:
- ping 路由器 IP(这个 IP 根据自己的路由器更改),
- 如果 ping 通了,说明市电正常
- 回显 “AC Power OK ! ” 交流电源正常!
- 否则,执行关机
要求:
- 路由器不能接在 UPS 上,否则就不起作用了。
扩展阅读
任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。
如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。