(1)首先创建如下脚本,命名为 powermon.sh:
#!/bin/sh
MonitorIP=192.168.1.203
DelayTime=60s
if ping $MonitorIP -W 2 -w 2 -c 2 | grep '^[0-9].*ms$' > /dev/null
then
echo "Power on."
else
synologset1 sys warn 0x11600036
sleep $DelayTime
if ping $MonitorIP -W 2 -w 2 -c 2 | grep '[0-9].*ms$' > /dev/null
then
synologset1 sys warn 0x11600035
else
synologset1 sys warn 0x11600037
poweroff
fi
fi
exit 0
上面脚本中的 192.168.1.203 为你的路由器或其它长期由市电直接供电的网络设备的 IP 地址,60s 为延迟时间,表示一旦检测到断电,将等待 60 秒,然后关机,如果 60 秒内恢复了供电,将不再关机。所以该值需根据你的 UPS 能支撑的时间来决定。
(2)将上述脚本保存到 NAS 的合适位置,如 /usr/syno/sbin 下,为其添加执行权限:
chmod +x /usr/syno/sbin/powermon.sh
在 NAS 管理界面,打开“控制面板”,选择“任务计划”,点击“新增”并选择“用户定义的脚本”,指定该脚本,并选择每天的 00:00 到 23:59,每 1 分钟执行一次,可以根据你的 UPS 可坚持的时间修改,比如 5 分钟, 10 分钟等。
(3)也可以不创建任务计划,而是编辑 /etc/crontab 文件,在最后插入一行:
* * * * * root /usr/syno/sbin/powermon.sh
各个区段用 TAB 分隔。这个也是每分钟执行一次,可以根据你的 UPS 可坚持的时间修改,比如 5 分钟, 10 分钟等。