mirror of
https://gitverse.ru/kpa39l/vesti.git
synced 2026-09-29 09:55:03 +00:00
Initial import: vesti.nixg.ru — новостной апрув-проект (web, crawler, classifier, publisher, openspec)
This commit is contained in:
Executable
+40
@@ -0,0 +1,40 @@
|
||||
#!/bin/bash
|
||||
# VESTI — тихий watchdog: publisher, веб :8400, туннель :1080, БД, диск.
|
||||
# no_agent cron: непустой stdout доставляется дословно; ПУСТОЙ = тишина.
|
||||
# Шумит ТОЛЬКО при реальной проблеме.
|
||||
WEB_URL=${WEB_URL:-"http://127.0.0.1:8400/login"}
|
||||
|
||||
issues=()
|
||||
|
||||
# 1) publisher-service (Docker) — healthz
|
||||
if ! curl -sf --max-time 5 http://127.0.0.1:8410/healthz >/dev/null 2>&1; then
|
||||
issues+=("publisher-service :8410 НЕ отвечает (healthz)")
|
||||
fi
|
||||
|
||||
# 2) веб :8400
|
||||
if ! curl -sf --max-time 5 -o /dev/null "$WEB_URL" 2>/dev/null; then
|
||||
issues+=("веб :8400 НЕ отвечает ($WEB_URL)")
|
||||
fi
|
||||
|
||||
# 3) туннель SOCKS5 :1080
|
||||
if ! timeout 5 bash -c 'exec 3<>/dev/tcp/127.0.0.1/1080' 2>/dev/null; then
|
||||
issues+=("telegram-tunnel SOCKS5 :1080 не слушает")
|
||||
fi
|
||||
|
||||
# 4) publisher-контейнер Docker жив (основной способ: compose, restart=unless-stopped)
|
||||
if ! docker ps --filter name=^vesti-publisher$ --filter status=running --format '{{.Names}}' | grep -q vesti-publisher; then
|
||||
issues+=("контейнер vesti-publisher (Docker :8410) не запущен")
|
||||
fi
|
||||
|
||||
# 5) БД доступна (не залочена, не битая) — через python (sqlite3 CLI может отсутствовать)
|
||||
if ! /opt/vesti/.venv/bin/python -c 'import sqlite3;c=sqlite3.connect("/opt/vesti/db/vesti.db");c.execute("SELECT 1");c.close()' >/dev/null 2>&1; then
|
||||
issues+=("БД /opt/vesti/db/vesti.db недоступна")
|
||||
fi
|
||||
|
||||
# --- шумим только при проблемах ---
|
||||
if [ ${#issues[@]} -gt 0 ]; then
|
||||
echo "⚠️ VESTI: обнаружены проблемы:"
|
||||
printf ' - %s\n' "${issues[@]}"
|
||||
echo "Логи: /opt/vesti/logs/, publisher: journalctl --user -u vesti-publisher -n 50"
|
||||
fi
|
||||
exit 0
|
||||
Reference in New Issue
Block a user