diff --git a/scripts/nas_sync/vps_restart_resident.sh b/scripts/nas_sync/vps_restart_resident.sh index a933f22..8619241 100644 --- a/scripts/nas_sync/vps_restart_resident.sh +++ b/scripts/nas_sync/vps_restart_resident.sh @@ -36,8 +36,20 @@ $SSH "schtasks /end /tn sanguo-shadow-desk" 2>/dev/null || true # ---- 4) 重拉 ---- sleep 3 -$SSH "schtasks /run /tn sanguo-live-supervisor" || { echo "❌ supervisor 拉起失败"; exit 1; } -$SSH "schtasks /run /tn sanguo-shadow-desk" || { echo "❌ shadow-desk 拉起失败"; exit 1; } +# schtasks /run 带重试(2026-08-26 run756 实锤: 短时海量 ssh 连接可被 sshd 重置 +# `kex_exchange_identification: Connection reset`——单发失败=影子舰队整夜静默, +# 需手动 schtasks /run 补拉; 3 次重试吃掉瞬时抖动) +run_task() { + local tn=$1 i + for i in 1 2 3; do + $SSH "schtasks /run /tn $tn" && return 0 + echo " (拉起 $tn 第${i}次失败, 5s 后重试)" + sleep 5 + done + return 1 +} +run_task sanguo-live-supervisor || { echo "❌ supervisor 拉起失败"; exit 1; } +run_task sanguo-shadow-desk || { echo "❌ shadow-desk 拉起失败"; exit 1; } # ---- 5) 等进程回来(内存实测 40-60s 起齐,给 120s 余量)---- for i in $(seq 1 12); do