3fb0a839881ea10795ef472709ec631551baa926
Skript zum herunterfahren einer entfernten Computers
Dieses Skript automatisiert das Senden einer Benachrichtigung nach Abschluss eines Backup-Vorgangs und das Herunterfahren eines Servers per SSH. Es verwendet curl zum Senden von Benachrichtigungen und sshpass zum Ausführen von Remote-Befehlen.
Funktionen
- Sendet eine Benachrichtigung an einen NTFY-Server mit benutzerdefinierten Details.
- Führt das Herunterfahren eines Servers über SSH durch.
- Lädt Konfigurationsvariablen aus einer externen .env-Datei.
Voraussetzungen
curl Benötigt für das Senden von HTTP-Anfragen.
sshpass Benötigt für die nicht-interaktive SSH-Anmeldung.
NTFY Ein NTFY-Server für Benachrichtigungen
Installation
- Stellen Sie sicher, dass
curlundsshpassauf Ihrem System installiert sind:
sudo apt install curl sshpass
- Platzieren Sie das Skript und eine .env-Datei im gleichen Verzeichnis. Die .env-Datei muss denselben Namen wie das Skript haben, jedoch mit der Endung .env (z. B. backup.sh und backup.env).
- Setzen Sie die korrekten Dateiberechtigungen, um die Sicherheit zu gewährleisten:
chmod 700 backup.sh
chmod 600 backup.env
Konfiguration
Erstellen Sie eine .env-Datei mit den folgenden Variablen:
NTFY_URL=https://ntfy.gofel.net/
AUTH_TOKEN=tk_dd5geasc9844jcm3d45adio3rtchs
DUPLICATI_URL=http://192.168.178.100:8200
SERVER_NAME=unRAID
ICON=http://192.168.178.25:3030/icons/qnap-ts-412.png
SSH_PASSWORD=pass
SSH_USER=admin
SSH_HOST=192.168.178.105
Beschreibung der Variablen
NTFY_URL: Die Basis-URL des NTFY-Servers.
AUTH_TOKEN: Authentifizierungstoken für den NTFY-Server.
DUPLICATI_URL: URL zum Öffnen des Duplicati-Backup-Dashboards.
SERVER_NAME: Anzeigename des Servers.
ICON: URL für das Benachrichtigungssymbol.
SSH_PASSWORD: Passwort für die SSH-Anmeldung am Server.
SSH_USER: Benutzername für die SSH-Anmeldung.
SSH_HOST: Hostname oder IP-Adresse des Servers.
Verwendung
- Führen Sie das Skript aus:
./shell_ntfy_remote_shutdown.sh
- Stellen Sie sicher, dass alle Variablen in der
.env-Datei korrekt gesetzt sind, um Laufzeitfehler zu vermeiden.
Sicherheitshinweise
- Stellen Sie sicher, dass die
.env-Datei restriktive Berechtigungen hat (chmod 600), um unbefugten Zugriff auf sensible Daten wie Passwörter und Tokens zu verhindern. - Vermeiden Sie es, sensible Informationen direkt im Skript zu hinterlegen.
Description
Dieses Skript automatisiert das herunterfahren eines Servers per SSH und sendet eine Benachrichtigung an einen NTFY Server. Es verwendet curl zum Senden von Benachrichtigungen und sshpass zum Ausführen von Remote-Befehlen.
Languages
Shell
100%