#!/bin/bash

# Dieses Skript richtet den systemd-Dienst ein, um die SCUM-Logs automatisch abzurufen.
# Führen Sie es mit sudo aus: sudo bash setup_log_fetcher.sh

# --- Konfiguration ---
# Passen Sie diese Variable an, falls Ihr Projekt in einem anderen Verzeichnis liegt.
PROJECT_DIR="/var/www/html/scum_projekt"
SERVICE_FILE="scum-log-fetcher.service"
# --- Ende der Konfiguration ---

# Sicherstellen, dass das Skript als root ausgeführt wird
if [ "$EUID" -ne 0 ]; then 
  echo "Bitte führen Sie dieses Skript als root oder mit sudo aus."
  exit
fi

echo ">> Starte die Einrichtung des SCUM Log Fetcher Service..."

# Variablen für die Pfade
SCRIPTS_DIR="$PROJECT_DIR/scripts"
SYSTEMD_DIR="/etc/systemd/system"
VAR_DIR="$PROJECT_DIR/var"
LOG_DIR="$VAR_DIR/log"
LOG_FILE="$LOG_DIR/log-fetcher.log"
ERROR_LOG_FILE="$LOG_DIR/log-fetcher-error.log"

# 1. Service-Datei kopieren
echo "1. Kopiere Service-Datei nach $SYSTEMD_DIR..."
cp "$SCRIPTS_DIR/$SERVICE_FILE" "$SYSTEMD_DIR/"
if [ $? -ne 0 ]; then
    echo "FEHLER: Kopieren der Service-Datei fehlgeschlagen."
    exit 1
fi

# 2. Log-Verzeichnis und -Dateien erstellen
echo "2. Erstelle Log-Dateien in $LOG_DIR..."
mkdir -p "$LOG_DIR"
touch "$LOG_FILE"
touch "$ERROR_LOG_FILE"

# 3. Berechtigungen setzen
echo "3. Setze Berechtigungen für ftpuser..."
chown -R ftpuser:ftpuser "$VAR_DIR"
if [ $? -ne 0 ]; then
    echo "WARNUNG: Konnte Berechtigungen für $VAR_DIR nicht setzen. Manuell prüfen."
fi

# 4. Systemd neu laden
echo "4. Lade systemd-Daemon neu..."
systemctl daemon-reload

# 5. Dienst starten und aktivieren
echo "5. Starte und aktiviere den Service '$SERVICE_FILE'..."
systemctl start "$SERVICE_FILE"
systemctl enable "$SERVICE_FILE"

echo ""
echo "------------------------------------------"
echo ">> Einrichtung erfolgreich abgeschlossen!"
echo "------------------------------------------"
echo ""
echo "Der Dienst läuft jetzt und ruft alle 10 Sekunden die Logs ab."
echo ""
echo "Nützliche Befehle:"
echo "  - Status prüfen:    sudo systemctl status $SERVICE_FILE"
echo "  - Live-Logs ansehen:  tail -f $LOG_FILE"
echo "  - Fehler-Logs ansehen: tail -f $ERROR_LOG_FILE"
echo "  - Dienst stoppen:     sudo systemctl stop $SERVICE_FILE"
echo "  - Dienst neustarten:  sudo systemctl restart $SERVICE_FILE"
echo "" 