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:
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 installieren sudo apt install nfs-common time bzip2 # mount Verzeichnis erstellen sudo mkdir /media/nas # exportierte NAS Feigaben prüfen # mit IP sudo showmount -e 192.168.4.183 # oder DNS Namen sudo 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 NFS sudo 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 funktioniert cd /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 Terminal screen # und starten das eigentliche Backup sudo 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 bzip bzip2 -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.