Skript zum herunterfahren einer entfernten Computers
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.
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. shell_ntfy_remote_shutdown.sh und shell_ntfy_remote_shutdown.env).
- Setzen Sie die korrekten Dateiberechtigungen, um die Sicherheit zu gewährleisten:
chmod 700 shell_ntfy_remote_shutdown.sh
chmod 600 shell_ntfy_remote_shutdown.env
chmod +x shell_ntfy_remote_shutdown.sh
Konfiguration
Erstellen Sie eine .env-Datei mit den folgenden Variablen:
# NTFY Server
NTFY_URL=https://ntfy.server.net/
AUTH_TOKEN=tk_elwqvm6niscdn30f45iksdfh6sope
# Duplicati Server
DUPLICATI_URL=http://192.168.178.100:8200
SERVER_NAME=unRAID
# NTFY Icon (Optional / Leer lassen falls nicht benötigt)
ICON=http://192.168.178.25:3030/icons/qnap-ts-412.png
# SSH Zugangsdaten des entfernten System
SSH_HOST=192.168.178.105
SSH_USER=sshuser
SSH_PASSWORD=sshpass
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_HOST: Hostname oder IP-Adresse des Servers.
SSH_USER: Benutzername für die SSH-Anmeldung.
SSH_PASSWORD: Passwort für die SSH-Anmeldung am Server.
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%