Ich habe seit Anfang des Jahres (Spätzünder 😁) einen RaspberryPi 3 dessen Backup ich nach der Einrichtung angefertigt habe indem ich die SD-Karte in den Rechner gesteckt und geklont habe. Natürlich möchte ich nicht immer den RaspberryPi herunterfahren um ein Backup mit dd1 anzufertigen weshalb ich heute mal nach einer Lösung gesucht habe um das Remote zu erledigen. Wie sich herausstellte ist das ganze sehr einfach.
Auf dem RPi geben wir folgenden Befehl für unseren Benutzer zur Ausführung mit root-Rechten per sudo frei:
user ALL=(ALL) NOPASSWD: /bin/tar -cpO --exclude=/proc --exclude=/tmp --exclude=/mnt --exclude=/dev --exclude=/sys /
Statt user
muss natürlich der Benutzer eingetragen werden mit dem man sich
per SSH2 auf dem Raspberry anmeldet und /dev/mmcblk0p2
muss gegebenfalls
durch eure Bezeichnung der SD-Karte angepasst werden.
Danach kann das Backup mit folgendem Befehl ausgeführt werden:
ssh user@rpi "sudo /bin/tar -cpO --exclude=/proc --exclude=/tmp --exclude=/mnt --exclude=/dev --exclude=/sys / | xz" | > ~/pi/`date --rfc-3339=date`-pi3.tar.xz
user
ist wieder durch euren Benutzernamen auf dem Pi und rpi
durch den hostnamen
oder die IP3-Adresse eures RPis zu ersetzen. Das ganze dauert dann eine ganze
Weile, aber man muss ja nicht davor sitzen und zuschauen. 😄
⚠️ Warnung ⚠️
Das ganze ist erst mal mit etwas Vorsicht zu genießen, da ich jetzt nicht unnötig das Backup eingespielt habe um die SD-Karte nicht zu verschleißen aber die Dateigröße des erstellten Archivs wirkt auf mich plausibel und auch ein erster Blick ins Archiv sieht gut aus.
ls -lh ~/pi/
insgesamt 2,2G
-rw-r----- 1 martin martin 1,6G Feb 20 19:29 2018-02-20-pi3.img.xz
-rw-r----- 1 martin martin 602M Mai 10 15:56 2018-05-10-pi3.tar.xz
Somit habe ich nun das Image, dass ich am Anfang mit dd erstellt habe mit dem ich ein funktionstüchtiges System auf eine neue SD-Karte im Falle eines Austauschs schreiben kann und ein aktuelles Backup der Daten.