简单拓扑结构:
弱电箱(光猫 - POE路由)
电视柜(POE/AP - DS118 + DS918),其中DS918与UPS组成UPS服务器
DS118和DS918可以在停电后通过UPS供电,可在短时间内保持运行
但是,使用POE供电的AP面板是通过弱电箱中的POE路由供电,路由断电后,AP面板也就没有电了
这样DS118在断电后无法收到DS918的UPS服务器信号,导致不会在停电后自行关机。
解决方案:
1、在电视柜里使用交换机,交换机使用UPS供电,可保证断电后DS118与DS918的联通
2、电视柜里添加POE供电模块,电源链接到UPS,使POE供电模块在停电后可以为AP面板供电
3、DS118上设置定时任务,ping路由器,连续两次ping不通则认为停电了,主动关机。
本文主要说明方法3,
shell脚本如下:
#!/bin/sh
MonitorIP=192.168.1.2
DelayTime=600s
sudo ping -c 2 $MonitorIP > /dev/null
result=$?
if [ $result -eq 0 ]
then
echo "AC Power online."
else
synologset1 sys warn 0x11600036
echo "AC Power maybe offline, check again after 5 minutes. "
sudo sleep $DelayTime
sudo ping -c 2 $MonitorIP > /dev/null
result=$?
if [ $result -eq 0 ]
then
synologset1 sys warn 0x11600037
echo "AC Power restored."
else
synologset1 sys warn 0x11600035
sudo shutdown -h now
fi
fi
exit 0
添加到定时任务,每5分钟执行一次,第一次ping路由器不通,会在5分钟后再次ping,若5分钟内电力恢复,不会关机,若5分钟后仍然没有ping通,执行shutdown关机。
** 需要说明的是:脚本需要设置为root所有,ping
,sleep
,shutdown
都需要添加sudo
权限,否则无法成功执行。 **
全部评论