UPS 不间断电源专用,本地路由断电网络断网 NAS 服务器实现自动关机工具 (Linux 版)

UPS 即不间断电源 (Uninterruptible Power Supply),是一种含有储能装置的不间断电源。主要用于给部分对电源稳定性要求较高的设备,提供不间断的电源。

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

APC 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

扩展阅读

上一篇 谷歌Chrome浏览器设置打开默认无痕模式快捷方式方法
下一篇 UPS不间断电源专用,本地路由断电网络断网NAS服务器实现自动关机工具(Windows版)