Files
onion-dmp/watchdog.sh
2026-04-08 14:52:09 +08:00

38 lines
1.3 KiB
Bash
Executable File

#!/bin/bash
# 进程守护监控脚本 - 检测并自动重启崩溃的服务
LOG_DIR="/Users/inkling/Desktop/dmp/logs"
WATCH_LOG="$LOG_DIR/watchdog.log"
echo "[$(date)] 🔍 进程监控检查..." >> "$WATCH_LOG"
# 检查 Node.js 服务器
if ! pgrep -f "node server.js" > /dev/null; then
echo "[$(date)] ⚠️ Node.js 服务器已停止,正在重启..." >> "$WATCH_LOG"
cd /Users/inkling/Desktop/dmp
./start-daemon.sh >> "$WATCH_LOG" 2>&1
echo "[$(date)] ✅ 服务已重启" >> "$WATCH_LOG"
else
# 检查服务是否响应
if ! curl -s -f http://localhost:3456 > /dev/null 2>&1; then
echo "[$(date)] ⚠️ Node.js 服务器无响应,正在重启..." >> "$WATCH_LOG"
pkill -f "node server.js"
pkill -f "cloudflared tunnel"
sleep 2
cd /Users/inkling/Desktop/dmp
./start-daemon.sh >> "$WATCH_LOG" 2>&1
echo "[$(date)] ✅ 服务已重启" >> "$WATCH_LOG"
fi
fi
# 检查 Cloudflare Tunnel
if ! pgrep -f "cloudflared tunnel.*dmp-tunnel" > /dev/null; then
echo "[$(date)] ⚠️ Cloudflare Tunnel 已停止,正在重启..." >> "$WATCH_LOG"
cd /Users/inkling/Desktop/dmp
./start-daemon.sh >> "$WATCH_LOG" 2>&1
echo "[$(date)] ✅ Tunnel 已重启" >> "$WATCH_LOG"
fi
echo "[$(date)] ✅ 监控检查完成" >> "$WATCH_LOG"