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

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 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.

Wenn Dir der Beitrag gefallen hat oder nützlich für dich war, hinterlass mir einen Kommentar.

6 Kommentare
  1. Michael Dauderer
    Michael Dauderer sagte:

    Hallo,

    Vielen Dank für die Erklärung. Bis touch hello-NAS hatte ich es geschafft. Wenn ich allerdings das eigentliche Backup starte, kommt bei mir auf dem pi die Meldung: Keine Berechtigung!?

    „pi@pi:/media/nas $ sudo time dd if=/dev/mmcblk0 of=/media/nas/backup_$(hostname)_$(date +%Y-%m-%d_%H-%M-%S).img bs=1MB
    dd: konnte ‚/media/nas/backup_pi_2021-06-17_19-33-07.img‘ nicht öffnen: Keine Berechtigung
    Command exited with non-zero status 1
    0.00user 0.00system 0:00.00elapsed 75%CPU (0avgtext+0avgdata 2004maxresident)k
    0inputs+0outputs (0major+103minor)pagefaults 0swaps“

    Eine Idee, woran das liegen könnte?

    Dank und Gruß,

    Micha

    Antworten
    • Hagen Glötter
      Hagen Glötter sagte:

      Hallo Micha, die Lösung steht schon da: dd: konnte ‘/media/nas/backup_pi_2021-06-17_19-33-07.img’ nicht öffnen: Keine Berechtigung
      Der User der das Backup macht hat keine Berechtigung auf /media/nas/
      Probiere es mit /tmp/backup_pi… und schau dir an welche Berechtigungen benötigt werden bzw. als welcher User die Daten schreiben will und passe dann /media/nas entsprechend an.
      Oder die einfache Lösung: Mach „sudo su“ und führe das Backup nochmal aus. Und ändere danach den Nutzer von dem Backup.
      Viel Spaß
      Hagen

      Antworten
  2. Lars
    Lars sagte:

    Hallo,

    danke für die Anleitung. leider habe ich ein kleines Problem.

    pi@linux-tree:~ $ sudo mkdir /media/nas
    pi@linux-tree:~ $ sudo showmount -e 192.168.5.5
    clnt_create: RPC: Unable to receive
    pi@linux-tree:~ $ sudo mount -t nfs -o rw,soft,nolock 192.168.5.5:/backup/media/nas
    mount: 192.168.5.5:/backup/media/nas: can’t find in /etc/fstab.
    pi@linux-tree:~ $

    nun stellt sich mir die Frage, liegt es an der Samba1 software auf der alten NAS?

    Lars

    Antworten
  3. Matthias
    Matthias sagte:

    Hallo Hagen,
    hat bei mir funktioniert, danke für die Anleitung.
    Super wäre, wenn es eine Möglichkeit gäbe, dass man ein wöchentliches Backup automatisch macht, kennst du da eine Lösung?
    danke und lg
    Matthias

    Antworten
      • Matthias
        Matthias sagte:

        Hallo Hagen,
        danke für die Rückmeldung, da muss ich dann wohl recherchieren, da ich mich da überhaupt nicht auskenne.
        danke und lg
        Matthias

        Antworten

Hinterlasse einen Kommentar

An der Diskussion beteiligen?
Hinterlasse uns deinen Kommentar!

Schreibe einen Kommentar

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