From b24a8834d56dc0d80a407db2385c62c4355bacb5 Mon Sep 17 00:00:00 2001 From: Admin Date: Sat, 14 Mar 2026 13:00:22 +0400 Subject: [PATCH] =?UTF-8?q?v1.29=20=D0=9C=D0=BE=D0=BD=D0=B8=D1=82=D0=BE?= =?UTF-8?q?=D1=80=D0=B8=D0=BD=D0=B3=20=D0=B2=D0=B5=D0=B1-=D1=81=D0=B5?= =?UTF-8?q?=D1=80=D0=B2=D0=B5=D1=80=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 👁️ МОНИТОРИНГ ВЕБА: • Проверка uvicorn на порту 8000 • Автоперезапуск если упал • Проверка PID процесса • Проверка доступности панели ✅ РАБОТАЕТ: • Бот (systemd) • Веб-сервер (uvicorn) • Интервал: 30 секунд 📝 ФАЙЛЫ: • bot-monitor.sh: обновлён Co-authored-by: Qwen-Coder --- bot-monitor.sh | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) 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 "✅ Веб-панель восстановлена"