2025-02-20 20:50:23 +01:00
.
2025-02-20 20:50:23 +01:00
.
2025-02-20 20:50:23 +01:00
.
2025-02-20 20:50:23 +01:00
.
2025-02-20 20:50:23 +01:00

Backup Notification Script

Dieses Bash-Skript sendet Benachrichtigungen basierend auf dem Ergebnis eines Duplicati-Backups. Die Zustände, die eine Benachrichtigung auslösen, können flexibel konfiguriert werden.

Anforderungen

  • Ein ntfy-Server für das Senden von Benachrichtigungen
  • Zugriff auf den Duplicati-Server

Funktionen

  • Benachrichtigungen werden über ntfy gesendet.
  • Zustände, die Benachrichtigungen auslösen, können in der Variable SEND_NOTIFICATIONS festgelegt werden.
  • Jeder Zustand („Success“, „Warning“, „Error“, „Fatal“) hat einen eigenen Block für spezifische Titel, Nachrichten und Prioritäten.

Verwendung

1. Konfiguration

  1. 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_duplicati.sh und shell_ntfy_duplicati.env).
# NTFY Server
NTFY_URL=https://ntfy.server.net/
AUTH_TOKEN=tk_dd5geasc9844jcm3d45adio3rtchs

#Duplicati Server
DUPLICATI_URL=http://192.168.178.25:8200
SERVER_NAME=n100

# NTFY Icon (Optional / Leer lassen falls nicht benötigt)
ICON=http://192.168.178.25:3030/icons/n100.png

# Zustände, die Benachrichtigungen auslösen
# (Success, Warning, Error, Fatal, Unknown)
SEND_NOTIFICATIONS="Error Fatal Unknown"

# Wählen Sie das Logging level. Möglich Werte: off, normal, debug
# Die Logdatei wird im gleichen Verzeichnis wie das Script selbst gespeichert. 
LOGGING=off
  1. Setzen Sie die korrekten Dateiberechtigungen, um die Sicherheit zu gewährleisten und das Script ausführbar zu machen:
chmod 700 shell_ntfy_duplicati.sh
chmod 600 shell_ntfy_duplicati.env
chmod +x shell_ntfy_duplicati.sh

2. Zustände

Das Skript unterstützt die folgenden Zustände:

  • Success: Das Backup war erfolgreich.
  • Warning: Das Backup wurde abgeschlossen, aber es gab Warnungen.
  • Error: Es gab ein Problem beim Backup.
  • Fatal: Das Backup ist aufgrund eines schwerwiegenden Fehlers fehlgeschlagen.
  • Jeder nicht erkannte Zustand wird als „Unbekannter Zustand“ behandelt.

3. Ausführen in Duplicati

Das Skript sollte in den Einstellungen eines Backup-Jobs unter --run-script-after eingetragen werden, damit es nach Abschluss des Backups automatisch ausgeführt wird.

Aufbau des Skripts

Variable SEND_NOTIFICATIONS Enthält eine Liste von Zuständen, die eine Benachrichtigung auslösen sollen.

Funktion should_notify Überprüft, ob der aktuelle Zustand (DUPLICATI__PARSED_RESULT) in der Liste SEND_NOTIFICATIONS enthalten ist.

case-Block Definiert Titel, Nachrichten, Prioritäten und Tags für jeden Zustand.

Abschließend wird ein POST-Request an den ntfy-Server gesendet.

Description
Dieses Bash-Skript sendet Benachrichtigungen basierend auf dem Ergebnis eines Duplicati-Backups. Die Zustände, die eine Benachrichtigung auslösen, können flexibel konfiguriert werden.
Readme 44 KiB
Languages
Shell 100%