释放双眼,带上耳机,听听看~!
UPS品牌数量居多,很多ups不支持群晖系统,无法直接和群晖的系统直接对接。那么我们又想ups在断电后自动关机,所以我找了一个脚本,来判断路由器网关地址是否能ping通,来判断路由器是否正常,当路由器192.168.31.1在3分钟内一直都是失败的情况下,直接将我的群晖进行关机操作
🤖 由 ChatGPT 生成的文章摘要
脚本内容如下
#!/bin/sh
MonitorIP=192.168.31.1
DelayTime=180s
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.31.1
是路由器地址,根据实际路由器网关地址修改,180s是延时180秒即三分钟,
如果ping不通路由器,延迟三分钟后 (正常重启路由器三分钟足够了),仍然ping不通路由器,群晖自动关机 (需要有UPS支持)
群晖配置
打开控制面板
选择计划任务
创建计划任务的自定义脚本
脚本名称随便写,方便记忆即可。用户账号需要为root
我们需要在每天执行,每5分钟执行一次,判断网络是否正常
将脚本内容复制进来,也可以加上异常的通知
虽然异常通知基本上是无法发送出来的
因为是root用户,需要输入DSM管理员密码,并且权限为群晖最大权限