Backup einer Raspberry Pi Speicherkarte via Mac (OSX) Terminal App erstellen

In diesem Tutorial zeige ich euch, wir ihr eine Sicherung eures Raspberry Pi Systems macht. Die Sicherung wird auf eurem Mac gespeichert und auch gleich komprimiert um Platz zu sparen.
Wie ihr eure SD-Karte bei einem Fehler oder Crash wiederherstellt wird auch beschrieben.

Voraussetzungen:

SD-Card Backup mit Terminal erstellen

  1. zu klonende SD-Karte in den Card-Reader stecken
  2. Terminal App öffnen (Programme->Dienstprogramme-Terminal) und mit folgendem Befehl den Namen/Ort der Speicherkarte finden
    diskutil list

    Es erscheint eine Liste mit allen Speichermedien. Die zu klonende SD-Karte erkennt ihr an ihrer Speichergröße unter Size oder ihrem Namen. In diesem Beispiel heißt sie /dev/disk1.

    sd_card_clone-diskutil_list

  3. Der folgendem Befehl erstellt ein Image von der SD-Karte, komprimiert es und speichert es auf eurem Desktop. disk1 müsst ihr durch den Namen eurer SD-Karte ersetzen.
    sudo dd bs=4m if=/dev/disk1 | gzip > ~/Desktop/rpi-image.gz
    

    Falls ihr nach einem Passwort gefragt werdet, gebt das Passwort für euren Mac ein (nicht wundern während der Eingabe werden keine Zeichen angezeigt), dann mit ENTER bestätigen.

  4. Der Kopiervorgang dauert eine ganze Weile (30min–2Std). Sobald der Vorgang abgeschlossen ist erhält man eine Meldung (während des Kopieren erhält man kein Rückmeldung).

    Tipp

    Mit ctrl+t könnt ihr anzeigen lassen wie viel bytes schon auf die SD-Karte geschrieben wurden.

Wiederherstellen der SD-Karte via Terminal

  1. Die zu wiederherstellende SD-Karte in den Card-Reader stecken.
  2. Name der SD-Karte mit folgendem Befehl herausfinden.
    diskutil list
    
  3. SD-Karte Unmounten mit (disk1 mit dem Namen eurer SD-Karte ersetzen)
    diskutil umountDisk /dev/disk1
    

    sd_card_clone-unmount

  4. Jetzt formatieren wir die SD-Karte im FAT16 Format. (Achtung es werden alle Daten auf diesem Speichermedium gelöscht. Unbedingt darauf achten das ihr das richtige Speichermedium wählt)
    sudo newfs_msdos -F 16 /dev/disk1
    

    Ihr müßt wieder das Passwort eures Mac eingeben und mit [ENTER] bestätigen.

    Option -F 16 gibt an das die Karte im FAT 16 Format formatiert werden soll.

  5. Um das zuvor erstellte Backup auf die SD-Karte zu übertragen verwendet ihr folgenden Befehl.
    sudo gzip -dc ~/Desktop/rpi-image.gz | sudo dd bs=4m of=/dev/disk1
    

    Tipp

    Falls eure Backup .gz sich an einem anderen Speicherort befindet, schreib den Befehl bis sudo dd if= und dann zieht ihr die .dmg Datei per Drag and Drop auf das Terminal Fenster. Der Pfad zur Datei wird automatisch eingefügt und ihr schreibt den Rest des Befehls weiter of=/dev/disk1.

Gib deine Stimme ab!

21 Likes
Upvote Downvote

Total votes: 14

Upvotes: 14

Upvotes percentage: 100.000000%

Downvotes: 0

Downvotes percentage: 0.000000%

Geschrieben von Ben

#Blogger #Designer #RaspeberryFan #Self-Employed #Developer #Javascript
TwitterGithubThingiverse

10 Kommentare

Kommentar verfassen
  1. Hallo Ben,
    Auch hier danke für die Anleitung, leider für mich nicht anwendbar, da nicht MAC Fan.
    Aber zu dem Thema einige Fragen. Ich habe auf meinem PI eine für mich größere Haussteuerung, die immer weiter aktualisiert wird. Unter Anderem gibt es einen Verbrauchs und Kostenzähler der Mittels HourCounter realisiert wurde. Jetzt zu meiner Frage:
    Datensicherungen mache ich bisher immer mit dem win32 Diskimager. Dazu beende ich Fhem und fahre den PI runter. Nach der Datensicherung die umgekehrte Reihenfolge. Nun beginnt der HourCounter aber neu zu zählen und die alten Werte sind nicht mehr vorhanden. Über Sicherungen gibt es viele Beiträge im Netz, aber nicht was ich suche. Es soll jedenTag zu einer bestimmten Zeit eine Komplettsicherung erfolgen, wobei die Älteren gelöscht werden sollen und nur die Sicherungen der letzten drei Tage verfügbar bleiben. Ich habe gelesen, dass Fhem vor so einer Sicherung beendet werden soll. Das ist aber Aus Zeitgründen nicht immer möglich. Hast Du eine Idee wie für meine Bedürfnisse eine Lösung realisiert werden kann?
    Gruß Michael

  2. hallo marco, die Rücksicherung läuft bei mir ewig. Wie erkenne ich im Terminal wan die Rücksicherung beendet ist?
    mit Ctrl +T erscheint:

    
    11993088 bytes transferred in 21.096689 secs (568482 bytes/sec)
    load: 2.09  cmd: dd 7059 uninterruptible 0.00u 0.13s
    load: 2.09  cmd: dd 7059 uninterruptible 0.00u 0.13s
    0+191 records in
    0+190 records out
    12451840 bytes transferred in 22.905758 secs (543612 bytes/sec)
    load: 2.16  cmd: dd 7059 uninterruptible 0.00u 0.14s
    0+199 records in
    0+198 records out
    12976128 bytes transferred in 24.809499 secs (523031 bytes/sec)
    load: 2.15  cmd: dd 7059 uninterruptible 0.00u 0.67s
    0+893 records in
    0+892 records out
    58458112 bytes transferred in 227.486268 secs (256974 bytes/sec)
    

    danke gruss martin

    • Hallo Martin,
      Jedes mal wenn du Ctrl +T drückst wird dir der aktuelle Status angezeigt. Also wenn sie etwas ändert, ist der Schreibvorgang noch am laufen.
      Je größer die Speicherkarte, desto länger dauert es.

    • Ich empfehle dringend bei der Rücksicherung das Device /dev/rdiskX zu verwenden, da da die Daten dann erheblich schneller geschrieben werden. Das „X“ entsprechend dem Tutorial mit einer „1“ ersetzen bzw. mit der von euch ermittelten Device Nummer.

  3. Funktioniert das auch, wenn die neue SD-Karte ein kleineres Volumen hat?
    Die SD-Karte-1 hat 64Gb und wurde zum testen verwendet, jetzt sollte alles auf die Richtige SD-Karte-2 mit 8Gb geladen werden. Vom Speicher geht es sich locker aus.

  4. ein frage, ich habe noobs drauf und somit 2 Partitionen

    /dev/disk3
    #: TYPE NAME SIZE IDENTIFIER
    0: FDisk_partition_scheme *15.5 GB disk3
    1: Windows_FAT_16 RECOVERY 1.2 GB disk3s1
    2: Linux 33.6 MB disk3s5
    3: Windows_FAT_32 boot 66.1 MB disk3s6
    4: Linux 14.2 GB disk3s7

    wenn ich vor dem zurückkopieren die sd formatiere, werden dann auch beide Partitionen zurückkopiert?

    gruß marco

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.