mirror of
https://gitee.com/xmz7891/ykxmz.git
synced 2026-10-18 14:50:45 +00:00
每次 530 窗口从"出现"到"被看门狗发现并重启",最长要等一个检查周期。 20 秒缩到 10 秒,用户撞上 1033 的概率窗口直接减半。 代价:公网探测从每 20 秒一次变成每 10 秒一次。 这台设备本来就在长轮询,这点流量可以忽略。 设备上已生效(OnUnitActiveSec=10s, AccuracySec=3s)。
43 lines
1.4 KiB
Bash
43 lines
1.4 KiB
Bash
#!/bin/bash
|
|
# watchdog 检查间隔 20 秒 -> 10 秒
|
|
#
|
|
# 为什么:每次 530 窗口从"出现"到"被看门狗发现并重启",
|
|
# 最长要等一个检查周期。20 秒 -> 10 秒,用户撞上 1033 的
|
|
# 概率窗口直接减半。
|
|
#
|
|
# 代价:curl 更频繁(每 10 秒一次公网请求)。
|
|
# 这台设备 4G 流量很小,而且本来就一直在长轮询,可以忽略。
|
|
set -u
|
|
|
|
echo " 改前:"
|
|
grep -E 'OnBootSec|OnUnitActiveSec|AccuracySec' /etc/systemd/system/lanremote-watchdog.timer | sed 's/^/ /'
|
|
|
|
cat > /etc/systemd/system/lanremote-watchdog.timer <<'EOF'
|
|
[Unit]
|
|
Description=每 10 秒检查一次隧道连接数
|
|
|
|
[Timer]
|
|
# 20 秒 -> 10 秒:从"出问题"到"被重启"的等待窗口减半。
|
|
# 开机后 45 秒开始第一次(隧道一般几十秒就连上了)。
|
|
OnBootSec=45s
|
|
OnUnitActiveSec=10s
|
|
AccuracySec=3s
|
|
Unit=lanremote-watchdog.service
|
|
|
|
[Install]
|
|
WantedBy=timers.target
|
|
EOF
|
|
|
|
systemctl daemon-reload
|
|
systemctl restart lanremote-watchdog.timer
|
|
|
|
echo
|
|
echo " 改后:"
|
|
grep -E 'OnBootSec|OnUnitActiveSec|AccuracySec' /etc/systemd/system/lanremote-watchdog.timer | sed 's/^/ /'
|
|
echo " 定时器状态: $(systemctl is-active lanremote-watchdog.timer)"
|
|
systemctl list-timers lanremote-watchdog.timer --no-pager 2>/dev/null | head -3 | sed 's/^/ /'
|
|
|
|
echo
|
|
echo " 立即跑一次确认不报错:"
|
|
bash /root/lanremote-relay/watchdog.sh 2>&1 | tail -2 | sed 's/^/ /'
|