各位老哥,终于解决了UPS一拖二的问题了!(PS 可以一拖N取决于你UPS有多强,你有多少插座)
我自己测试了,拔了网线,五分钟二话没说直接关机!
所以我觉得大家应该都能用!
我有两个nas,另外一个支持NUT服务器跟客户端,可是咱飞牛毕竟才刚起步,也不能鱼与熊掌兼得!
所以呢这个问题困扰了我好久,甚至中间我也确实实现了两个UPS,最后因为考虑到安全因素,我就处理了锂电池的UPS。
就在昨天(幸好飞牛没开机),因为停电,正好在家我就想不等设置的15分钟,现在就去关掉NAS,这时我发现我给交换机接到ups上,可路由器没有接到ups上,此时就没法登录另外一个NAS,这时脑袋里突发奇想直接就把这个问题解决了!
我想的是既然UPS作用是停电后告诉nas停电了赶紧关机,那么为何不能让NAS去主动问是不是停电了,那么怎么判断停电了呢?停电我路由器没接ups那么就会直接断网啊,顺手问了一句豆包问题得到解决!下面是教程:
当然我用的是山特850w(你要觉得我做了好事,帮我找飞牛给我续个三五年的专业版的FN Connect服务也不是不行)
一、准备工作(先做这 3 步)
- 知道你的路由器 IP
- 打开飞牛 NAS 的 SSH / 终端
-
Win+R → 输入 cmd 回车
-
输入:
ssh 管理员用户名@飞牛NAS的IP
3.切换到 root(必须)
终端里输入:
sudo -i
二、创建自动关机脚本(全程复制)
1. 新建脚本文件
mkdir -p /vol1/1000/app
nano /vol1/1000/app/router_shutdown.sh
2.粘贴以下完整代码(小白切记一行一行复制最稳)
#!/bin/bash
# ---------------------------------------------------
# 飞牛NAS 路由器不通自动关机脚本
# 作用:ping路由器,连续N次失败 → 关机
# ---------------------------------------------------
# ========== 【你必须改这里】 ==========
ROUTER_IP="192.168.1.1" # 改成你的路由器IP
CHECK_INTERVAL=60 # 每隔多少秒检测1次(默认1分钟)
MAX_FAIL=5 # 连续失败多少次才关机(默认5次=5分钟)
# =====================================
# 失败计数(不要改)
fail_count=0
# 循环检测
while true; do
# ping路由器:发1包,超时2秒
ping -c 1 -W 2 "$ROUTER_IP" > /dev/null 2>&1
if [ $? -eq 0 ]; then
# 通了:清零计数
fail_count=0
echo "[$(date)] 路由器正常: $ROUTER_IP"
else
# 不通:计数+1
fail_count=$((fail_count + 1))
echo "[$(date)] 路由器不通 (失败 $fail_count/$MAX_FAIL)"
fi
# 达到最大失败 → 关机
if [ $fail_count -ge $MAX_FAIL ]; then
echo "[$(date)] 连续 $MAX_FAIL 次不通,准备关机..."
shutdown -h now
exit 0
fi
# 等待下一次检测
sleep $CHECK_INTERVAL
done
- 按 Ctrl+O
- 直接按 回车 确认保存
- 按 Ctrl+X 退出编辑器
3.粘贴以下完整代码(小白切记一行一行复制最稳)
四、设置开机自启(永久生效)
方法 1:用系统服务(最稳)
-
新建服务文件
nano /etc/systemd/system/router-shutdown.service
-
粘贴:
[Unit]
Description=路由器断网自动关机
After=network.target
[Service]
ExecStart=/vol1/1000/app/router_shutdown.sh
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target
-
保存退出:Ctrl+O → 回车 → Ctrl+X
-
启用并启动服务
systemctl daemon-reload
systemctl enable router-shutdown
systemctl start router-shutdown
方法 2:检查是否在跑
systemctl status router-shutdown
- 出现 active (running) 绿色就是成功。
五、常用管理命令(新手必存)
-
停止监控
systemctl stop router-shutdown
-
关闭开机自启
systemctl disable router-shutdown
-
重新启动监控
systemctl restart router-shutdown
-
查看运行日志
journalctl -u router-shutdown -f