Ich schreibe seit ein paar Wochen Programme für meinen Raspberry Pi (auf dem Raspbian läuft) und möchte sicherstellen, dass ich meine Arbeit schütze.
Wie kann ich die Dateien, die ich erstellt habe, sichern?
Kann ich die SD-Karte einfach in meinen Windows-PC (XP oder 7) einstecken und sie entweder auf die Festplatte oder eine andere SD-Karte kopieren?
Wenn Sie alle Daten erhalten wollen, müssen Sie wahrscheinlich ein Disk-Image erstellen. Außerdem kann Windows typische Linux-Dateisysteme nicht erkennen, so dass Sie Ihre Dateien wahrscheinlich nicht einmal sehen können, wenn Sie Ihre SD-Karte einstecken.
Wenn Sie ein Disk-Image erstellen, bleiben nicht nur die Dateien, sondern auch die Struktur des Dateisystems erhalten, und wenn Sie Ihre neue SD-Karte flashen wollen, können Sie sie einfach einstecken und sie wird funktionieren.
dd if=/dev/sdx of=/path/to/image bs=1M
Wobei /dev/sdx
Ihre SD-Karte ist.
dd if=/dev/rdiskx of=/path/to/image bs=1m
Wobei /dev/rdiskx
Ihre SD-Karte ist.
(die Verwendung von rdisk ist vorzuziehen, da es sich um ein rohes Gerät handelt - das ist schneller)
Um herauszufinden, welche Festplatte Ihr Gerät ist, geben Sie diskutil list
an einer Eingabeaufforderung ein - möglicherweise müssen Sie root sein; geben Sie dazu sudo -s
ein und geben Sie Ihr Passwort ein, wenn Sie dazu aufgefordert werden.
Option 1
Unter Windows können Sie den umgekehrten Prozess anwenden, den Sie beim Flashen der SD-Karte verwendet haben.
Sie können Win32 Disk Imager verwenden, das bevorzugte Tool zum Flashen einer SD-Karte der Foundation. Geben Sie einfach den Dateinamen (den Speicherort und den Namen der zu speichernden Sicherungsdatei) ein, wählen Sie das Gerät (die SD-Karte) und drücken Sie auf "Lesen":
Natürlich können Sie auch RawWrite, dd
für Windows oder ähnliche Tools verwenden, das Verfahren ist recht ähnlich.
Option 2
Wenn Sie nicht Ihr gesamtes System sichern wollen, sondern nur bestimmte Dateien, schlage ich vor, dass Sie sich mit Ihrem Raspberry Pi über SFTP verbinden und die Dateien auf Ihren lokalen Computer kopieren (Sie können den WinScp Client verwenden). Wenn Sie SSH aktiviert haben, erfordert SFTP normalerweise keine besondere Konfiguration auf der Raspberry Pi-Seite.
Eine weitere Möglichkeit ist das Kopieren der Dateien auf ein entferntes System mit rsync.
Sie können auch spezielle Treiber installieren, so dass Ihr Windows ext
-Dateisysteme lesen kann (und somit in der Lage ist, die gesamte SD-Karte zu lesen), wie z.B. ext2fsd
, aber das ist wahrscheinlich den Aufwand nicht wert.
Da das Abbild die gleiche Größe wie Ihre SD-Karte haben wird, sollten Sie es komprimieren. Dies können Sie ganz einfach mit Ihrem bevorzugten Komprimierungsprogramm erreichen, wie z.B. gzip
, 7zip, WinZip, WinRar ...
Wenn Sie mit Linux arbeiten, können Sie den Befehl dd
verwenden, um eine vollständige Sicherung des Abbilds zu erstellen:
dd if=/dev/sdx of=/path/to/image
oder zur Komprimierung:
dd if=/dev/sdx | gzip > /path/to/image.gz
Wobei sdx
Ihre SD-Karte ist.
Um das Backup wiederherzustellen, kehren Sie die Befehle um:
dd if=/path/to/image of=/dev/sdx
oder wenn komprimiert:
gzip -dc /path/to/image.gz | dd of=/dev/sdx
Wenn Sie Windows verwenden:
Laden Sie Win32 Disk Imager herunter.
Erstellen Sie den Dateipfad, den Sie zum Speichern Ihres Bildes verwenden möchten. (Ich verwende C:\RasPi_Bkp)
Starten Sie Win32 Disk Imager
Suchen Sie den Pfad zu Ihrer Sicherungsdatei, und geben Sie einen Dateinamen ein.
Klicken Sie auf Speichern
Vergewissern Sie sich, dass das Gerät, das in der Dropdown-Liste rechts neben dem Dateipfad angezeigt wird, das Gerät ist, das Sie sichern möchten.
Klicken Sie auf "Lesen"
Warten Sie.