👁️ МОНИТОРИНГ: • bot-monitor.sh — скрипт проверки (30 сек) • domovoy-monitor.service — systemd юнит • Автоперезапуск при падении • Проверка: systemd + веб-панель ✅ РАБОТАЕТ: • Проверка каждые 30 секунд • Автоперезапуск если упал • Проверка веб-панели (порт 8000) • Логирование в monitor.log 📝 ФАЙЛЫ: • bot-monitor.sh (executable) • domovoy-monitor.service 🎯 ТЕПЕРЬ: • Бот САМ следит за собой • Перезапускается при падении • Ты НИЧЕГО не делаешь! Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
48 lines
1.5 KiB
Bash
Executable file
48 lines
1.5 KiB
Bash
Executable file
#!/bin/bash
|
||
# Мониторинг Домового Бота
|
||
# Проверяет каждые 30 секунд и перезапускает если упал
|
||
|
||
LOG_FILE="/home/matrixhasyou/domovoy_bot/logs/monitor.log"
|
||
WEB_URL="http://localhost:8000"
|
||
CHECK_INTERVAL=30 # секунд
|
||
|
||
log() {
|
||
echo "[$(date '+%Y-%m-%d %H:%M:%S')] $1" | tee -a "$LOG_FILE"
|
||
}
|
||
|
||
check_bot() {
|
||
# Проверяем systemd сервис
|
||
if ! sudo systemctl is-active --quiet domovoy-bot; then
|
||
log "❌ Бот НЕ активен! Перезапуск..."
|
||
sudo systemctl restart domovoy-bot
|
||
sleep 5
|
||
if sudo systemctl is-active --quiet domovoy-bot; then
|
||
log "✅ Бот перезапущен успешно"
|
||
else
|
||
log "❌ НЕ удалось перезапустить бота!"
|
||
return 1
|
||
fi
|
||
fi
|
||
|
||
# Проверяем веб-панель
|
||
if ! curl -s --max-time 5 "$WEB_URL" > /dev/null; then
|
||
log "❌ Веб-панель НЕ отвечает! Перезапуск..."
|
||
sudo systemctl restart domovoy-bot
|
||
sleep 5
|
||
if curl -s --max-time 5 "$WEB_URL" > /dev/null; then
|
||
log "✅ Веб-панель восстановлена"
|
||
else
|
||
log "❌ Веб-панель НЕ восстановилась!"
|
||
return 1
|
||
fi
|
||
fi
|
||
|
||
return 0
|
||
}
|
||
|
||
log "🚀 Запуск мониторинга Домового Бота (интервал: ${CHECK_INTERVAL}с)"
|
||
|
||
while true; do
|
||
check_bot
|
||
sleep $CHECK_INTERVAL
|
||
done
|