收起左侧

ups一拖二?搞定!NUT不需要,咱换个思路解决问题呢?

0
回复
54
查看
[ 复制链接 ]

2

主题

7

回帖

0

牛值

江湖小虾

各位老哥,终于解决了UPS一拖二的问题了!(PS 可以一拖N取决于你UPS有多强,你有多少插座)

我自己测试了,拔了网线,五分钟二话没说直接关机!

所以我觉得大家应该都能用!

我有两个nas,另外一个支持NUT服务器跟客户端,可是咱飞牛毕竟才刚起步,也不能鱼与熊掌兼得!

所以呢这个问题困扰了我好久,甚至中间我也确实实现了两个UPS,最后因为考虑到安全因素,我就处理了锂电池的UPS。

就在昨天(幸好飞牛没开机),因为停电,正好在家我就想不等设置的15分钟,现在就去关掉NAS,这时我发现我给交换机接到ups上,可路由器没有接到ups上,此时就没法登录另外一个NAS,这时脑袋里突发奇想直接就把这个问题解决了!

我想的是既然UPS作用是停电后告诉nas停电了赶紧关机,那么为何不能让NAS去主动问是不是停电了,那么怎么判断停电了呢?停电我路由器没接ups那么就会直接断网啊,顺手问了一句豆包问题得到解决!下面是教程:

当然我用的是山特850w(你要觉得我做了好事,帮我找飞牛给我续个三五年的专业版的FN Connect服务也不是不行)

一、准备工作(先做这 3 步)

  1. 知道你的路由器 IP
  2. 打开飞牛 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.粘贴以下完整代码(小白切记一行一行复制最稳

  • 先开一个新的终端保持登录(防止关错)
  • 回到运行脚本的终端:按 Ctrl+C 停止脚本
  • 编辑脚本,故意把 ROUTER_IP 改错(比如 192.168.99.99
  • /vol1/1000/app/router_shutdown.sh
    
  • 看失败计数从 1→2→3→4→5 → 第 5 次自动关机

四、设置开机自启(永久生效)

方法 1:用系统服务(最稳)

  1. 新建服务文件

    nano /etc/systemd/system/router-shutdown.service
    
  2. 粘贴:

    [Unit]
    Description=路由器断网自动关机
    After=network.target
    
    [Service]
    ExecStart=/vol1/1000/app/router_shutdown.sh
    Restart=always
    RestartSec=5
    
    [Install]
    WantedBy=multi-user.target
    
  3. 保存退出:Ctrl+O → 回车 → Ctrl+X

  4. 启用并启动服务

    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
    
收藏
送赞 1
分享
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则