install-wg-client-status-check.sh hinzugefügt
This commit is contained in:
@@ -0,0 +1,50 @@
|
||||
#!/bin/bash
|
||||
|
||||
# --- KONFIGURATION ---
|
||||
# Passe hier die URL zu deinem Repository an
|
||||
SCRIPT_URL="https://me-gitea.maieredv.cloud/DEIN_USER/DEIN_REPO/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 <<EOF > "$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."
|
||||
Reference in New Issue
Block a user