#!/bin/bash # ========================================================= # CHECK BACKEND - Verifica e riavvia backend Python se necessario # Usa systemctl per gestire il servizio (con virtual environment) # Nota: questo script può girare come root o come user ids # ========================================================= LOG_FILE="/var/log/ids/backend.log" mkdir -p /var/log/ids # Check if systemd service is active if systemctl is-active --quiet ids-ml-backend; then exit 0 fi # Verifica anche se il processo Python è attivo (fallback) if pgrep -f "python.*main.py" > /dev/null; then exit 0 fi echo "[$(date)] Backend Python NON attivo, riavvio..." >> "$LOG_FILE" # Prova prima con systemctl (funziona se eseguito come root o con sudo configurato) if [ "$(id -u)" -eq 0 ]; then systemctl restart ids-ml-backend else # Se non siamo root, prova con sudo (richiede sudoers configurato) sudo systemctl restart ids-ml-backend 2>/dev/null fi # Wait for startup sleep 5 if systemctl is-active --quiet ids-ml-backend || pgrep -f "python.*main.py" > /dev/null; then echo "[$(date)] Backend riavviato con successo" >> "$LOG_FILE" else echo "[$(date)] ERRORE: Backend non si è avviato. Controlla: journalctl -u ids-ml-backend" >> "$LOG_FILE" fi