如果手头里的UPS不是群晖推荐支持的,没有通讯功能,停电不能通知NAS关机。
我们可以给NAS创建个脚本任务,定时ping路由器是否在线,ping多次不通代表停电,再让NAS关机。
新建一个文本文件,脚本内容:- #!/bin/sh
- MonitorIP=192.168.1.1
- DelayTime=60s
- if ping $MonitorIP -W 2 -w 2 -c 2 | grep 'icmp_seq=2 ttl=64 time' > /dev/null
- then
- echo "$(date -d today +"%Y%m%d %H:%M:%S")-Power check ok." | tee -a /volume1/PT/powerlog
- else
- #synologset1 sys warn 0x11600036
- echo "$(date -d today +"%Y%m%d %H:%M:%S")-need checkpower again" | tee -a /volume1/PT/powerlog
- sleep $DelayTime
- if ping $MonitorIP -W 2 -w 2 -c 2 | grep 'icmp_seq=2 ttl=64 time'> /dev/null
- then
- # synologset1 sys warn 0x11600035
- echo "$(date -d today +"%Y%m%d%H:%M:%S")-Recheck ok" | tee -a /volume1/powerlog
- else
- # synologset1 sys warn0x11600037
- echo "$(date -d today +"%Y%m%d %H:%M:%S")-Check again,Power lost, Ready to power off.." |tee -a /volume1/download/
- powerlog.txt
- poweroff
- fi
- fi
- exit 0
复制代码
其中MonitorIP是路由器IP,DelayTime是ping间隔时间,/volume1/download/powerlog.txt是日志保存路径,根据你的情况修改,将代码保存为powercheck.sh文件。
将脚本拷贝到/volume1/download/下,进控制面板 - 任务计划 - 新增 - 计划的任务 - 用户自定义的脚本。
任务名称起个名字,用户账号选root。
计划 - 每天运行,运行频率选每5分钟。
任务设置 - 运行命令 - 用户定义的脚本填写: sh /volume1/download/powercheck.sh
确定保存。
|
|