diff --git a/bot-monitor.sh b/bot-monitor.sh index 5ab280a..7af199f 100755 --- a/bot-monitor.sh +++ b/bot-monitor.sh @@ -11,7 +11,7 @@ log() { } check_bot() { - # Проверяем systemd сервис + # Проверяем systemd сервис (бот) if ! sudo systemctl is-active --quiet domovoy-bot; then log "❌ Бот НЕ активен! Перезапуск..." sudo systemctl restart domovoy-bot @@ -24,10 +24,31 @@ check_bot() { fi fi + # Проверяем веб-сервер (uvicorn) + WEB_PID=$(pgrep -f "uvicorn.*8000") + if [ -z "$WEB_PID" ]; then + log "❌ Веб-сервер НЕ запущен! Перезапуск..." + cd /home/matrixhasyou/domovoy_bot + source venv/bin/activate + nohup python -m uvicorn web.app:app --host 0.0.0.0 --port 8000 >> logs/web.log 2>&1 & + sleep 5 + WEB_PID=$(pgrep -f "uvicorn.*8000") + if [ -n "$WEB_PID" ]; then + log "✅ Веб-сервер перезапущен (PID: $WEB_PID)" + else + log "❌ НЕ удалось перезапустить веб-сервер!" + return 1 + fi + fi + # Проверяем веб-панель if ! curl -s --max-time 5 "$WEB_URL" > /dev/null; then log "❌ Веб-панель НЕ отвечает! Перезапуск..." - sudo systemctl restart domovoy-bot + pkill -f "uvicorn.*8000" + sleep 2 + cd /home/matrixhasyou/domovoy_bot + source venv/bin/activate + nohup python -m uvicorn web.app:app --host 0.0.0.0 --port 8000 >> logs/web.log 2>&1 & sleep 5 if curl -s --max-time 5 "$WEB_URL" > /dev/null; then log "✅ Веб-панель восстановлена"