Raspberry Pi SD-Karte auf NAS sichern = Pi-Backup

Quelle: https://www.hagenfragen.de/sonstiges/raspberry-pi-sd-karte-auf-nas-sichern-pi-backup.html

SD Karten haben leider nur eine begrenzte Lebensdauer. Diese hängt maßgeblich von der Anzahl der Lese- und vor allem der Schreibzugriffe ab. Linux schreibt jedoch die ganze Zeit Einträge in diverse Log-Files. Desto mehr Programme, desto schlimmer. Besonders übel sind Datenbanken. Was tun wir dagegen? Eigentlich lässt sich nicht wirklich was dagegen unternehmen. Im Netz kursieren viele Scripte die alle Schreiboperationen von Logs in’s RAM verlagern, davon halte ich persönlich wenig, weil: Strom weg = RAM weg = Daten & Logs weg = Keine Möglichkeit Ursachenforschung oder Fehler zu suchen. Also, was hilft? Das gute alte Backup:

Backup auf einen Datenträger im Netzwerk.

Zuerst legen wir mal auf unserem NAS einen Nutzer und einen Order für das Backup an:

Neuen backup user anlegen
Backup Ordner anlegen
Datei und Ordner Rechte setzen – Nur der Backup User darf zugreifen

Jetzt hängt es davon ab, welche Zugriffe das NAS erlaubt. Mein Qnap kann NFS, SMB, SFTP. Ich nehme für das erste Backup zum Testen NFS, weil es das performanteste (und älteste aber auch das unsicherste) Protokoll ist. Wie NFS für ein QNAP-NAS geht steht hier. Also bringen wir NFS auf dem Raspberry Pi mal an den Start:

# nfs pakete installierensudo apt install nfs-common time bzip2 # mount Verzeichnis erstellensudo mkdir /media/nas# exportierte NAS Feigaben prüfen# mit IPsudo showmount -e 192.168.4.183# oder DNS Namensudo showmount -e nas.fritz.box# sieht dann so aus: (ich setzte es mal hinter eine # falls jemand den Block einfach nur kopiert ohne zu lesen ;-)#Export list for 192.168.4.183:# /backup *# /Public *# /Upload  *# Sieht gut aus, also mounten wir das NFSsudo mount -t nfs -o rw,soft,nolock nas.fritz.box:/backup /media/nas# von mount kommt kein Okay oder sowas. Wenn kein Fehler kommt hat's funktioniertcd /media/nas/touch hello-nas# jetzt sollte auf dem NAS die Datei hello-nas sichtbar sein# damit wir jetzt gleich nicht auf das Backup warten müssen oder das Terminal offen lassen müssen# starten wir mit screen ein virtuelles Terminalscreen# und starten das eigentliche Backupsudo time dd if=/dev/mmcblk0 of=/media/nas/backup_$(hostname)_$(date +%Y-%m-%d_%H-%M-%S).img bs=1MB# das dauert jetzt ne Weile und time zeigt und wie lange genau# Das erstellte Image ist so groß wie die Speicherkarte, daher komprimieren wir es mit bzipbzip2 -7 *img

Nachdem bzip2 fertig ist, ist das Backup fertig und auf dem NAS gesichert. Es kann im Falle eines Ausfalls der SD Karte einfach mit einem Tool wie Etcher auf eine neue SD-Karte kopiert werden.

This article was updated on April 19, 2024