Vollständiges Backup der Raspberry-Pi-microSD-Karte – indi-allsky sichern

indi-allsky auf einem Raspberry-Pi-System schreibt regelmäßig Daten (Logs, Datenbanken, Bilder, Videos).
microSD-Karten sind dafür nur bedingt ausgelegt und können im worst case ohne Vorwarnung ausfallen.

Ein 1:1-Backup der gesamten SD-Karte ermöglicht im Ernstfall:

  • Neue microSD-Karte einstecken
  • Backup zurückspielen
  • System startet exakt im vorherigen Zustand

Was wird in dieser Anleitung gesichert?

Das hier beschriebene Verfahren erstellt ein vollständiges, bootfähiges Abbild der SD-Karte inklusive:

  • Bootloader
  • Partitionstabelle
  • Betriebssystem
  • installierter Software
  • Konfigurationen
  • Daten (z. B. indi-allsky, Bilder, Videos)

Es handelt sich nicht um ein Dateibackup, sondern um ein Block-Level-Image.

Voraussetzungen

Raspberry Pi ist per Netzwerk erreichbar

SSH-Zugriff vorhanden

Backup wird von einem anderen Rechner aus gestartet (Linux, macOS, Windows mit WSL)

Ausreichend freier Speicherplatz auf dem Backup-Rechner

Schritt 1: SSH-Zugriff auf den Raspberry Pi prüfen

Vom Backup-Rechner aus:

 ssh pi@<IP-ADRESSE-DES-PI>

Wenn die Anmeldung funktioniert, kann mit dem Backup begonnen werden.

Schritt 2: SD-Karte auf dem Raspberry Pi identifizieren

Auf dem Raspberry Pi:

 lsblk

Typische Ausgabe:

 mmcblk0 59.5G 
├─mmcblk0p1 256M 
└─mmcblk0p2 59.2G

Wichtig ist das gesamte Gerät:

 /dev/mmcblk0

Nicht einzelne Partitionen sichern.

Schritt 3: Schreibende Dienste kurz stoppen (empfohlen)

Wenn Anwendungen laufen, die aktiv schreiben (z. B. indi-allsky, Datenbanken, Kamerasoftware), sollten diese kurz gestoppt werden.

Beispiel für indi-allsky (klassische Installation):

 systemctl --user stop indi-allsky.service 2>/dev/null || true
systemctl --user stop gunicorn-indi-allsky.socket 2>/dev/null || true
systemctl --user stop gunicorn-indi-allsky.service 2>/dev/null || true
systemctl --user stop indiserver.service 2>/dev/null || true
systemctl --user stop indi-allsky.timer 2>/dev/null || true
systemctl --user stop indiserver.timer 2>/dev/null || true

Dadurch wird ein konsistentes Backup sichergestellt.

Schritt 4: Vollständiges Backup per SSH erstellen

Der eigentliche Backup-Befehl wird auf dem Backup-Rechner ausgeführt:

 ssh pi@<IP-ADRESSE-DES-PI> \ 
"sudo dd if=/dev/mmcblk0 bs=4M status=progress" \ 
| gzip > raspberry-backup-$(date +%F).img.gz

Was dabei passiert:

  • dd liest die komplette SD-Karte roh
  • Daten werden über SSH übertragen
  • Backup wird lokal komprimiert gespeichert
  • Leerer Speicherplatz wird stark reduziert

Je nach Kartengröße dauert der Vorgang einige Minuten.

Wichtig: Es wird ein komplettes Abbild erstellt – es ist beispielsweise nicht möglich, einzelne Verzeichnisse zu überspringen.

Schritt 5: Dienste wieder starten

Nach Abschluss des Backups können die zuvor gestoppten Dienste wieder gestartet werden
oder alternativ der Raspberry Pi neu gebootet werden:

 sudo reboot

Wo wird das Backup gespeichert?

Das Backup wird auf dem Rechner gespeichert, auf dem der Befehl ausgeführt wurde, nicht auf dem Raspberry Pi.

Das Backup befindet sich im aktuellen Arbeitsverzeichnis, z. B.:

 ~/raspberry-backup-2025-01-07.img.gz

Wiederherstellung im Ernstfall

Falls die SD-Karte defekt ist:

  1. Neue microSD-Karte in den Backup-Rechner stecken
  2. Backup zurückspielen:
 gzip -dc raspberry-backup-2025-01-07.img.gz \ 
| sudo dd of=/dev/mmcblk0 bs=4M status=progress sync
  1. microSD-Karte in den Raspberry Pi einsetzen
  2. Starten

Das System läuft danach exakt wie zum Zeitpunkt des Backups.

Typische Fehler vermeiden

  • Kein Backup auf derselben microSD-Karte speichern
  • Nicht nur einzelne Partitionen sichern
  • Ziel-Device beim Restore immer sorgfältig prüfen
  • Backup mindestens einmal testweise zurückspielen

Hat dir dieser Beitrag gefallen?

Du kannst allsky-rodgau.de mit einem kleinen Kaffee auf BuyMeACoffee unterstützen.

Jetzt Kaffee spendieren!