Wie man Ihr Raspberry Pi sichert

Raspberry Pi Rsync Backup

Die Sicherung Ihres Raspberry Pi muss nicht kompliziert sein. Während es viele ausgeklügelte Backup-Lösungen gibt, ist manchmal der einfachste Ansatz der effektivste. In diesem Artikel zeige ich Ihnen, wie Sie rsync verwenden – ein kleines, aber leistungsstarkes Kommandozeilenwerkzeug, das perfekt geeignet ist, um zuverlässige lokale Backups Ihrer Raspberry Pi-Konfiguration zu erstellen.

Warum Rsync das beste Tool zur Sicherung Ihres Pi ist

Rsync (remote sync) ist ein leistungsstarkes Werkzeug zur Dateisynchronisierung und -übertragung, das standardmäßig auf Ihrem Raspberry Pi vorinstalliert ist.

Im Kern kopiert rsync Dateien effizient von einem Standort zum anderen, aber es ist viel smarter als eine einfache Kopieroperation. Es überträgt nur die Teile von Dateien, die sich geändert haben, was sowohl Zeit als auch Systemressourcen spart. Dies ist besonders nützlich, wenn große Dateien, die häufig geändert werden, gesichert werden müssen.

Man Rsync Raspberry

Ich verwende rsync hauptsächlich, um meine wichtigen Benutzerdaten auf dem Pi zu sichern. Zum Beispiel betreibe ich einen Foto-Galerie-Server auf meinem Raspberry Pi, und rsync ist perfekt, um eine Sicherungskopie all dieser wertvollen Bilder auf einem externen Laufwerk zu behalten, wobei neue oder geänderte Dateien automatisch erkannt und kopiert werden.

Im Gegensatz zu Backup-Tools, die ganze Dateien kopieren, überträgt rsync nur geänderte Teile, was die Backups erheblich schneller macht und die Abnutzung Ihrer SD-Karte reduziert. Seine Kommandozeilenoberfläche macht es perfekt für die Automatisierung mit Cron-Jobs, während eingebaute Prüfziffern die Integrität des Backups gewährleisten. Am besten ist, dass die leichte Natur von rsync bedeutet, dass es Ihr Pi nicht verlangsamt, es sei denn, ein Backup-Prozess läuft gerade, und es benötigt auch nicht zu viel Speicherplatz auf der SD-Karte.

Aus diesen Gründen ist rsync die beste Lösung für meine Bedürfnisse, und ich glaube, dass es eine ideale Wahl für viele andere Raspberry Pi-Benutzer ist, die ein zuverlässiges und effizientes Backup-System wünschen.

Verwendung von Rsync zur Sicherung von Raspberry Pi-Dateien und -Ordnern

Der einfachste Weg, ein Verzeichnis zu sichern, ist mit dem Befehl:

rsync -av /source/directory /backup/location

Zum Beispiel, um mein Home-Verzeichnis auf ein externes Laufwerk zu sichern, das unter „/media/backup“ eingebunden ist, verwende ich den Befehl:

rsync -av --delete /home/david/immich-app /media/backup

um meine Fotobibliotheksdatenbank zu sichern.

Rsync Raspberry Folder Backup

Hier ist, was die verschiedenen Optionen tun:

  • -a aktiviert den Archivmodus, der Datei-Berechtigungen, Eigentum und Zeitstempel beibehält.
  • -v liefert ausführliche Ausgaben, sodass ich sehen kann, was kopiert wird.
  • --delete entfernt Dateien aus dem Backup-Standort, die im Quellverzeichnis nicht mehr vorhanden sind.

Hinweis: Sie sollten auch wissen, dass rsync bei abschließenden Schrägstrichen in Pfaden besonders ist. Ein abschließender Schrägstrich am Quellverzeichnis bedeutet „kopiere den Inhalt dieses Verzeichnisses“, anstatt das Verzeichnis selbst. Zum Beispiel kopiert rsync -av --delete /home/pi/folder /media/backup die Inhalte von „folder“ direkt in „backup“, während das Weglassen des Schrägstrichs das Verzeichnis „folder“ selbst in „backup“ kopiert.

Überprüfen Sie Ihr Raspberry Pi-Backup

Bevor Sie sich auf Ihr Backup verlassen, sollten Sie überprüfen, ob es korrekt funktioniert hat. Der einfachste Weg, dies zu überprüfen, ist die Verwendung der Trockenlaufoption mit rsync, die entweder als -n oder --dry-run angegeben werden kann. Wenn Sie den Befehl ausführen:

rsync -avn --delete /home/pi/folder /media/backup

sollten keine Dateien angezeigt werden, die übertragen werden müssen, wenn Ihr Backup auf dem neuesten Stand ist.

Rsync Raspberry Backup Dry Run

Für eine gründlichere Überprüfung können Sie die -c oder --checksum Option zu Ihrem rsync-Befehl hinzufügen. Während dies langsamer ist als der Standardvergleich von Zeitstempeln und Größen, stellt es sicher, dass jede Datei zwischen Quelle und Backup vollständig identisch ist, indem Prüfziffern berechnet werden. Führen Sie einfach aus:

rsync -avc --delete /home/pi/folder /media/backup

Die detaillierteste Möglichkeit, Ihr Backup zu überprüfen, besteht darin, den Befehl diff zu verwenden, der jede Datei und jedes Verzeichnis zwischen Ihren Quell- und Backup-Standorten vergleicht. Um diese Überprüfung durchzuführen, verwenden Sie:

diff -r /home/pi/folder /media/backup/folder

Die -r Option sagt diff, dass es alle Unterverzeichnisse rekursiv überprüfen soll. Wenn der Befehl keine Ausgabe erzeugt, bedeutet das, dass Ihr Backup identisch mit der Quelle ist. Wenn es Unterschiede gibt, zeigt diff Ihnen genau an, welche Dateien unterschiedlich oder fehlend sind.

Erstellen von vollständigen Raspberry Pi-Backups mit Rsync

In einigen Situationen kann es bequemer und sicherer sein, Ihre gesamte Raspberry Pi-SD-Karte anstelle einer Handvoll wichtiger Ordner zu sichern.

Um vollständige Raspberry Pi-Backups mit rsync zu erstellen, benötigen Sie ein Backup-Ziel – entweder eine andere SD-Karte oder ein externes Laufwerk mit genügend Speicherplatz für Ihr gesamtes System. Das Backup-Laufwerk sollte mit einem Linux-kompatiblen Dateisystem wie ext4 formatiert sein, um alle Datei-Berechtigungen und -Attribute korrekt zu erhalten.

Der kniffligste Teil des Backups eines vollständigen Raspberry Pi-Systems besteht darin, spezielle Systemverzeichnisse und -dateien korrekt zu handhaben. Nach meiner Erfahrung besteht die einfachste Lösung darin, Systemverzeichnisse auszuschließen, die entweder nicht gesichert werden müssen oder bei der Wiederherstellung Probleme verursachen könnten. Erstellen Sie eine Datei mit dem Namen „backup-exclude.txt“ und fügen Sie die folgenden Systemverzeichnisse hinzu, die vom Backup ausgeschlossen werden sollten:

  • /proc/* # Laufzeitprozessinformationen
  • /sys/* # Kernel- und Systeminformationen
  • /dev/* # Gerädateien
  • /tmp/* # Temporäre Dateien
  • /run/* # Laufzeitdaten
  • /mnt/* # Einhängepunkte
  • /media/* # Wechselmedien
  • /home/pi/.cache/* # Benutzer-Cache-Dateien
  • /lost+found # Verzeichnis zur Wiederherstellung des Dateisystems

Mit diesen Ausschlüssen können Sie so viele laufende Anwendungen wie möglich schließen und dann den folgenden Backup-Befehl ausführen:

sudo rsync -avxhP --delete --exclude-from=/home/pi/backup-exclude.txt //media/backup/rootfs/

Die -x Option verhindert, dass rsync die Grenzen von Dateisystemen überschreitet, was zu Problemen mit Systemverzeichnissen führen könnte. Die -h Option sorgt dafür, dass rsync Dateigrößen und Übertragungsgeschwindigkeiten in einem menschenlesbaren Format anzeigt.

Automatisierung von rsync-Backups

Während manuell erstellte vollständige Backups nützlich sind, bevorzuge ich es, sie mit dem integrierten Cron-Planer von Linux zu automatisieren. Um dies einzurichten, erstellen Sie eine Datei mit dem Namen „backup-pi.sh“ in Ihrem Home-Verzeichnis mit folgendem Inhalt:

#!/bin/bash  
BACKUP_DRIVE="/media/backup"  
LOG_FILE="/home/pi/backup-log.txt"  
  
# Überprüfen, ob das Backup-Laufwerk eingebunden ist  
if ! mountpoint -q $BACKUP_DRIVE; then  
echo "Backup-Laufwerk nicht unter $BACKUP_DRIVE eingebunden" >> $LOG_FILE  
exit 1  
fi  
  
# Erstellen Sie einen Zeitstempel für das Logging  
date >> $LOG_FILE  
  
# Führen Sie ein Backup mit Fehlerüberprüfung aus  
sudo rsync -avxhP --delete \  
--exclude-from=/home/pi/backup-exclude.txt \  
/$BACKUP_DRIVE/rootfs/ \  
>> $LOG_FILE 2>&1  
  
# Protokollesge Abschluss des Backups  
echo "Backup abgeschlossen am $(date)" >> $LOG_FILE  
echo "-------------------" >> $LOG_FILE

Machen Sie das Skript ausführbar mit chmod +x backup-pi.sh, und planen Sie es dann mit cron. Tippen Sie crontab -e ein und fügen Sie diese Zeile hinzu, um das Backup täglich um Mitternacht auszuführen:

0 0 * * * /home/pi/backup-pi.sh

Cron Raspberry Backup

Wiederherstellen Ihrer Rsync Raspberry Pi Backups

Um einzelne Dateien oder Verzeichnisse wiederherzustellen, ist der Prozess ganz einfach. Tauschen Sie einfach Quelle und Ziel in Ihrem rsync-Befehl aus. Zum Beispiel, um Ihre Fotobibliothek aus dem Backup wiederherzustellen:

rsync -av /media/backup/home/david/immich-app/ /home/david/immich-app/

Für eine vollständige Systemwiederherstellung müssen Sie zuerst eine frische Installation von Raspberry Pi OS auf Ihrer SD-Karte haben. Beginnen Sie mit der Installation einer frischen Kopie von Raspberry Pi OS auf Ihrer neuen SD-Karte. Sobald das erledigt ist, starten Sie Ihr Pi mit der neuen SD-Karte und schließen Sie den ersten Setup-Prozess ab. Verbinden Sie dann Ihr Backup-Laufwerk mit Ihrem Pi. Wenn alles richtig verbunden und eingebunden ist, können Sie Ihr Backup mit dem rsync-Befehl wiederherstellen:

sudo rsync -avxhP /media/backup/rootfs/ /

Nach Abschluss der Wiederherstellung empfehle ich, Ihr Pi neu zu starten, um zu überprüfen, ob alle wiederhergestellten Dateien ordnungsgemäß geladen sind. Sie sollten auch überprüfen, ob Ihre wichtigen Dienste und Konfigurationen wie erwartet funktionieren.

Wenn bestimmte Anwendungen nach der Wiederherstellung nicht funktionieren, überprüfen Sie deren Protokolldateien (in der Regel in /var/log/) auf etwaige Berechtigungsprobleme. Möglicherweise müssen Sie den Befehl ausführen:

sudo chown -R $USER:$USER /home/$USER

um das Eigentum an Ihren Dateien im Home-Verzeichnis zu korrigieren. Wie Sie sehen können, ist das Wiederherstellen mit rsync so einfach wie das Erstellen von Backups – tauschen Sie einfach die Quell- und Zielpfade in Ihren Befehlen um.

Während ich die einfache Kommandozeilenoberfläche von rsync bevorzuge, gibt es mehrere hervorragende GUI-Alternativen, wenn Sie mit dem Terminal nicht vertraut sind. Zum Beispiel ermöglicht Ihnen Syncthing, mehrere Ordner über verschiedene Systeme hinweg zu synchronisieren, während Timeshift System-Snapshot-Funktionalität mit einer klaren Oberfläche bietet. Welches Werkzeug Sie auch wählen, das Wichtigste ist, regelmäßige Backups Ihres Raspberry Pi zu erstellen, um Ihre wertvollen Daten und Systemkonfigurationen zu schützen.

Alle Bilder von David Morelo.