#!/bin/bash # relay 起不来 —— 直接在设备上手动跑,看真实报错 set -u echo " 服务状态: $(systemctl is-active lanremote-relay)" echo " restart 计数: $(systemctl show lanremote-relay -p NRestarts --value)" echo echo " 最近 journal:" journalctl -u lanremote-relay -n 15 --no-pager 2>/dev/null | tail -10 | sed 's/^/ /' echo echo "════════ 手动前台跑 5 秒(看它自己报什么)════════" cd /root/lanremote-relay timeout 5 python3 relay.py 2>&1 | head -25 | sed 's/^/ /' echo " (退出码 $?)" echo echo "════════ 单独 import + 调 main 的前半段 ════════" python3 -c " import sys sys.path.insert(0, '.') import relay print(' VERSION =', relay.VERSION) print(' PORT =', relay.PORT, 'BIND =', relay.BIND) print(' ADMIN_PATH =', relay.ADMIN_PATH) print(' main 存在:', callable(getattr(relay, 'main', None))) " 2>&1 | tail -12 | sed 's/^/ /' echo echo "════════ 端口有没有被占 ════════" ss -lntp 2>/dev/null | grep -E ':8080' | sed 's/^/ /' echo " (没输出=没人占)" echo echo "════════ 数据目录权限 ════════" ls -la /root/lanremote-relay/data/ 2>/dev/null | head -8 | sed 's/^/ /'