Raspberry Pi 5: Saubere Backup- & Restore-Strategie für Home Assistant, Pi-hole und Zigbee

Setup: Debian 13 (trixie) • HA Core (venv, non-Docker) • Pi-hole • Zigbee2MQTT • Nextcloud WebDAV • cron

Projektüberblick

Dieses Projekt dokumentiert den Aufbau einer robusten, nachvollziehbaren Backup- und Restore-Strategie für einen Raspberry Pi 5 mit klassischem Linux-Setup – ohne Docker.

Hardware & Software (neutralisiert)

  • Hardware: Raspberry Pi 5
  • Betriebssystem: Debian 13 (trixie)
  • Dienste:
    • Home Assistant Core (venv, non-Docker)
    • Pi-hole
    • Zigbee2MQTT (USB-Dongle)
  • Speicher: NVMe-SSD (intern angebunden)
  • Backup-Ziel: Externe Nextcloud per WebDAV
  • Automatisierung: cron
Ziel: ein sauberes, reproduzierbares, automatisiertes, testbares und dokumentiertes Backup.

Die Backup-Strategie

Gesichert wird explizit, nicht implizit.

Was wird gesichert?

Komponente Pfad
Home Assistant Config /home/<USER>/.homeassistant
Pi-hole /etc/pihole
Pi-hole dnsmasq /etc/dnsmasq.d
Zigbee2MQTT /opt/zigbee2mqtt/data
Metadaten Zeitstempel, Hostname
Wichtig: Zigbee-Daten sind nicht vollständig Teil der Home-Assistant-Backups. Wer das übersieht, darf Geräte neu pairen.

Backup-Script – Grundprinzip

Zielverzeichnis (temporär)

/tmp/ha-backup-YYYY-MM-DD_HH-MM/

Ablauf

  1. Verzeichnisstruktur anlegen (vor rsync)
  2. Relevante Pfade sichern (rsync)
  3. Archiv erstellen (tar.gz)
  4. Upload zu Nextcloud via WebDAV
  5. Lokale Backup-Rotation
Kein Schnickschnack. Funktioniert. Wartbar.

Nextcloud-Anbindung via WebDAV

Zugang (neutralisiert)

  • URL: https://<NEXTCLOUD_HOST>/remote.php/dav/files/<USER>/
  • Authentifizierung: App-Passwort
  • Ablage der Zugangsdaten: .netrc

Beispiel: .netrc

machine <NEXTCLOUD_HOST>
login <USER>
password <APP_PASSWORD>
  • getestet mit curl -X PROPFIND
  • kein Klartext im Script
  • cron-tauglich

Automatisierung mit cron

Tägliches Backup um 03:30 Uhr:
30 3 * * * /root/<SCRIPT_PATH>/ha-backup.sh >> /var/log/ha-backup.log 2>&1

Backup-Rotation

Begrenzung auf z. B. 7 Backups:
ls -1t <BACKUP_PATH>/*.tar.gz | tail -n +8 | xargs -r rm --
Kein Backup-Messie-Syndrom. Speicher bleibt sauber.

Restore-Playbook

Ein Backup ohne Restore-Anleitung ist nutzlos.
  • Vollständig dokumentiert
  • Schritt-für-Schritt
  • Getestet

Inhalt (Auszug)

  • Vorbereitung & Checks
  • Stoppen aller Dienste
  • Entpacken des Backups
  • Rücksicherung: Home Assistant, Pi-hole, Zigbee2MQTT
  • Rechte & Ownership
  • Neustart & Funktionsprüfung
Dokument: Restore_Playbook_HA_Pihole_Zigbee_v1.pdf

Status am Ende

  • Backups laufen automatisch
  • Restore dokumentiert
Hinweis: Alle systemindividuellen Angaben wurden durch Platzhalter ersetzt (<USER>, <NEXTCLOUD_HOST>, <APP_PASSWORD>, <SCRIPT_PATH>, <BACKUP_PATH>).
Hier kommt das backup Script zum Download: – ha-backup.zip Nach dem Download: unzip ha-backup.zip chmod +x ha-backup.sh ./ha-backup.sh das Script in das gewünschte Verzeichnis verschieben, die crontab editieren. Fertig!
FOSS

Previous article

Rasperry Pi ist am StartNew!!