Benutzer-Werkzeuge

Webseiten-Werkzeuge


raspberry_pi_sd_karte_backup

Raspberry Pi Backup der SD-Karte

Mit Sicherheit kennst du die die Situation, in welcher du durch Unachtsamkeit einen Fehler machst und wichtige Daten plötzlich gelöscht sind. Eventuell ist das System sogar so zerschossen, sodass es ohne viele Stunden Arbeit und Googlen nicht mehr zu retten ist. Damit du in so einem Fall das System auf einen früheren gesicherten Zeitpunkt wieder herstellen kannst, ist es wichtig Backups zu erstellen.

Es gibt mehrere Wege Datensicherungen anzulegen. Denkbar wäre zum Beispiel, dass du via SCP die Daten einfach auf den PC herunter lädst oder große Ordner- und Dateistrukturen zu einem Archiv zusammen packst. Möchtest du nicht nur einzelne Dateien sichern, sondern die ganze SD-Karte, macht es Sinn ein Image der SD Karte zu erstellen. Du kannst auch den ganzen Prozess automatisieren um regelmäßig Backups zu erstellen.

Ich möchte in diesem Artikel auf die verschiedenen Arten des Backups eingehen, sowie die Probleme einzelner Methoden aufzeigen.

Backup während des laufendem Betriebs

Schaust du dir das Internet zum Thema Backups im laufendem Betrieb an, findest du viele Scripte und Möglichkeiten ein Backup auf diese Weise zu erstellen. Die gängigsten Programme dafür sind dd und rsync. Bei beiden Methoden sei aber gesagt, dass ein Backup im laufendem Betrieb kritisch sein kann. Es kann zu Inkonsistenzen im Backup kommen, wenn während der Sicherung noch Dateien auf das System geschrieben/geändert werden. Du könntest die Anfälligkeit dafür reduzieren, indem du Dienste wie Apache, NginX, MySQL, Samba ect. stoppst. Die Garantie für ein funktionierendes Wiederherstellungsbackup kann dir aber in diesem Fall niemand geben, weshalb du Jedes so erstelle Backup unbedingt auf Funktionalität mittels Wiederherstellung prüfen solltest. Wenn du also ein Backup des Images im laufendem Betrieb machen möchtest, sei es aus Bequemlichkeit oder wegen der Automatisierung, was alles völlig legitim ist, dann solltest du dir raspiBackup einmal anschauen.

Ansonsten erkläre ich dir hier kurz und kompakt, wie ein Backup Image erstellt werden kann und zwar eines, welches auch garantiert wieder zur Wiederherstellung verwendet werden kann. Zugegeben, ja du musst dafür den Raspberry Pi die Zeit des Backups herunterfahren. Wenn das aber wöchentlich und vielleicht zu später Stunde für ca 15 – 20 Minuten passiert, wird das mit Sicherheit noch zu verkraften sein. Wenn du ein tägliches Update haben möchtest, solltest du dir überlegen, ob du wirklich jeden Tag das komplette Image als Backup brauchst. Für einen Webserver zum Beispiel wäre es auch möglich, dass du über ein Script die Datenbanken und den html Ordner sicherst. Anschließend könnten diese Dateien in ein Archiv gepackt und auf ein Medium wie ein USB Stick verschoben werden. Möglichkeiten gibt es hier mit Sicherheit zu genüge.

Image Backup via WIN32DiskImager

Vielen Raspberry Pi Usern mag es nicht bewusst sein, aber der WIN32DiskImager kann nicht nur Images auf die SD Karte schreiben, sondern auch Eines von einer SD Karte erstellen. Dazu gehst du wie folgt vor:

  1. Fahre den Raspberry Pi über den Befehl sudo shutdown -h now herunter.
  2. Stecke die SD Karte mittels eines Kartenlesegeräts in den Computer und öffne den WIN32DiskImager.
  3. Wähle über den blauen Ordner das Ziel und unten bei Dateiname gibst du backup.img ein. Dann klickst du auf öffnen.
  4. Zum Schluss klickst du auf Lesen (Read) und das Image wird erstellt.

Image Backup via dd

Als Linux User kannst du alternativ auch einfach ein Abbild mit dd erstellen.

  1. Zuerst fährst du den Raspberry Pi über den Befehl sudo shutdown -h now herunter.
  2. Stecke die SD-Karte mittels eines Kartenlesegeräts in den Computer und öffne die Konsole (Terminal).
  3. Lasse dir mit sudo fdisk -l oder df -h eine Auflistung der Speichermedien anzeigen.
  4. Hast du an den Partitionen nichts geändert, sollte die SD Karte /dev/mmcblk0 sein.
  5. Das Backup erstellst du mit dem Befehl sudo dd bs=4M if=/dev/mmcblk0p | gzip > backup.img.gz und es wird anschließend direkt in ein Archiv gepackt.
  6. Du kannst auch mit sudo dd bs=4M if=/dev/mmcblk0 of=backup.img ein Backup erstellen, ohne das es direkt zu einem Archiv gepackt wird.
  7. Wenn du das Image dann wiederherstellen musst, hilft folgender Befehl: sudo dd bs=4M if=backup.img of=/dev/sdX

Nach dem Backup kannst du die SD-Karte dann wieder entfernen und in den Raspberry Pi einstecken.

MySQL Datenbanken sichern

Neben Dateien ist es auch Möglich Datenbanken zu sichern. Dazu gibt es mehre Möglichkeiten. Über die Konsole, Adminer, PHPmyAdmin, MySQLDumper ect. aber auch über die eigenen Boardmittel

  1. Die Datenbank kannst du mit dem Befehl mysqldump -u root -p datenbankname > datenbankname.sql sichern.
  2. Nach dem gleichem Prinzip kannst du Sie mit dem Befehl mysql -u root -p datenbankname < datenbankname.sql wiederherstellen.
  3. Möchtest du alle Datenbanken sichern, wird der Befehl mysqldump -u root -p –all-databases > backup.sql verwendet.
  4. Nach dem gleichen Prinzip kann du das Backup aller Datenbanken mit dem Befehl mysql -u root -p < backup.sql wiederherstellen.

Schlusswort

Die Enttäuschung gibt es leider zum Ende! Nein es gibt hier keine Scripte oder eine Anleitung zur Automatisierung via cron, da das oben genannte Tool raspiBackup das alles schon mit sich bringt. Es macht also Sinn, dass du dir dieses zuerst einmal anschaust. Mal sehen, ich in Zukunft etwas in Richtung Scripte und Automatisierung anbieten werde.

raspberry_pi_sd_karte_backup.txt · Zuletzt geändert: 2019/08/20 12:57 (Externe Bearbeitung)