#!/bin/bash # --- KONFIGURATION --- # Passe hier die URL zu deinem Repository an SCRIPT_URL="https://me-gitea.maieredv.cloud/MAIEREDV/netmaker-status-script/raw/branch/main/wg-client-status.sh" DEST_PATH="/usr/local/bin/wg-client-status.sh" CRON_FILE="/etc/cron.d/wg-client-status" echo "🚀 Starte Installation des Gateway-Status-Clients..." # 1. Root-Rechte prüfen if [ "$EUID" -ne 0 ]; then echo "❌ Bitte führe das Script als root aus (z.B. sudo ./install.sh)" exit 1 fi # 2. Aktuelles Script herunterladen echo "📥 Lade Script von $SCRIPT_URL herunter..." curl -sSL "$SCRIPT_URL" -o "$DEST_PATH" if [ ! -f "$DEST_PATH" ]; then echo "❌ Fehler beim Herunterladen des Scripts! Bitte URL prüfen." exit 1 fi # 3. Ausführbar machen chmod +x "$DEST_PATH" echo "✅ Script installiert unter $DEST_PATH" # 4. Cronjobs systemweit und sauber in /etc/cron.d/ anlegen echo "⏱️ Erstelle Cronjobs..." cat < "$CRON_FILE" # Führt das Status-Script jede Minute aus * * * * * root $DEST_PATH > /dev/null 2>&1 # Zieht sich jede Nacht um 03:00 Uhr die aktuellste Version aus dem Gitea-Repo 0 3 * * * root curl -sSL "$SCRIPT_URL" -o "$DEST_PATH" && chmod +x "$DEST_PATH" > /dev/null 2>&1 EOF # Wichtig: Dateien in /etc/cron.d/ muessen root gehoeren und duerfen nicht executable sein (644) chmod 644 "$CRON_FILE" chown root:root "$CRON_FILE" echo "✅ Cronjobs eingerichtet in $CRON_FILE" # 5. Erster Testlauf (optional, triggert direkt den ersten Heartbeat) echo "🧪 Führe ersten Testlauf aus..." "$DEST_PATH" echo "🎉 Installation abgeschlossen! Das Gateway meldet sich nun minütlich und hält sich selbst aktuell."