Files
xmz7891 41bf110e22 修 devssh:定义了 HOST_FALLBACKS 却从来没用过
随身 WiFi 跟着教室网络走,地址会在 192.168.2.156 和
192.168.10.105 之间变。devssh.py 里明明定义了 HOST_FALLBACKS,
但 run / upload / download 三个函数**全都直接用 HOST** ——
于是设备一换网段就全部连不上,而且报的是连接超时,
看起来像设备挂了。

现在改成按候选列表顺序试:
    环境变量 YKXMZ_DEV_HOST 优先
    -> 192.168.2.156(当前)
    -> 192.168.10.105(换网前用过)
并记住上次通的那个,后续调用不用每次从头试。
连上时打一行 `[devssh] 连上 x.x.x.x`,免得以后又搞不清连的是哪台。

还加了 `--probe` 子命令,一句话看现在哪个地址能用:

    python _build/devssh.py --probe

实测:192.168.2.156 通、192.168.10.105 不通,自动选中前者。
2026-10-07 20:29:37 +08:00

40 lines
1.4 KiB
Bash

#!/bin/bash
# relay-stability 停了,看它留下了什么
set -u
echo " ── 还有没有它的进程 ──"
pgrep -af 'rp_|long2h|ab_long|collapse' 2>/dev/null | head -5 | sed 's/^/ /' || echo " (没有)"
echo
echo " ── 2 小时长测:最后状态 ──"
if [ -f /root/long2h_health.tsv ]; then
echo " 样本数: $(wc -l < /root/long2h_health.tsv)"
echo " 最后 3 条:"
tail -3 /root/long2h_health.tsv | sed 's/^/ /'
else
echo " (没有文件)"
fi
echo
echo " ── 配比对照跑了吗 ──"
for s in lanremote-tunnel lanremote-tunnel-h2; do
printf " %-24s %s (%s)\n" "$s" \
"$(grep -oE -- '--protocol [a-z0-9]+|--ha-connections [0-9]+' \
"/etc/systemd/system/$s.service" 2>/dev/null | tr '\n' ' ')" \
"$(systemctl is-active $s 2>/dev/null)"
done
ls -la --time-style=+%H:%M /root/*ab*.tsv /root/*ab*.out /root/*ratio* 2>/dev/null | sed 's/^/ /' || echo " (没有对照的产物)"
echo
echo " ── 它最后改的脚本(看它做到哪一步)──"
ls -la --time-style=+%H:%M:%S /root/rp_ab_long.sh /root/rp_collapse.py /root/rp_collapse.tsv 2>/dev/null | sed 's/^/ /'
echo
echo " ── 公网自检 ──"
curl -s --max-time 20 -o /dev/null -w ' HTTP %{http_code} %{time_total}s\n' \
-H 'User-Agent: LanRemote/1.8.2' https://relay.xxmxxs.top/v1/health
echo
echo " ── 设备时间 ──"
date '+ %H:%M:%S'