改进 frpc 启动:sleep 2s、输出失败日志尾部、配置完整性预检
- sleep 1 -> 2s 给 frpc 更多启动时间 - 启动失败时 tail -5 输出 frpc 日志方便排查 - 增加配置基本校验(检查 serverAddr 和代理端口是否存在) - warn -> error 级别提升
This commit is contained in:
+11
-2
@@ -727,6 +727,11 @@ safe_start_service "huawei-gateway" "$PYTHON_CMD /usr/local/bin/huawei_gateway.p
|
||||
# ================= 启动 frpc =================
|
||||
if [ -n "$FRPC_CONFIG" ] && [ -f "$FRPC_CONFIG" ]; then
|
||||
if command -v frpc &>/dev/null; then
|
||||
# 校验配置基本完整性
|
||||
if ! grep -q "serverAddr" "$FRPC_CONFIG" 2>/dev/null || ! grep -q "remotePort\|remote_port" "$FRPC_CONFIG" 2>/dev/null; then
|
||||
log_error "frpc 配置文件不完整: $FRPC_CONFIG"
|
||||
log_error "请检查配置后手动启动: frpc -c $FRPC_CONFIG"
|
||||
else
|
||||
# 重启已运行的 frpc,或首次启动
|
||||
if has_systemd; then
|
||||
if systemctl list-units --type=service 2>/dev/null | grep -q "frpc"; then
|
||||
@@ -738,11 +743,15 @@ if [ -n "$FRPC_CONFIG" ] && [ -f "$FRPC_CONFIG" ]; then
|
||||
restart_service "frpc"
|
||||
nohup frpc -c "$FRPC_CONFIG" > /var/log/frpc.log 2>&1 &
|
||||
echo $! > /var/run/frpc.pid
|
||||
sleep 1
|
||||
sleep 2
|
||||
if kill -0 "$(cat /var/run/frpc.pid)" 2>/dev/null; then
|
||||
log_info "frpc 已通过 nohup 启动 (PID: $(cat /var/run/frpc.pid))"
|
||||
else
|
||||
log_warn "frpc 启动失败,查看日志: /var/log/frpc.log"
|
||||
log_error "frpc 启动失败!最后几行日志:"
|
||||
tail -5 /var/log/frpc.log | while IFS= read -r line; do
|
||||
echo -e " ${RED}|${PLAIN} $line"
|
||||
done
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
else
|
||||
|
||||
Reference in New Issue
Block a user