Backup auf USB-Stick

>>>> Thema: Lokales Backup von PC auf USB-Stick

Zielgruppe: Private Linuxnutzer und Kleingewerbetreibender

Motivation: Technisches Verständnis vermitteln

Inhaltsverzeichnis

Prolog

Es geht um kleine und unregelmäßige und spontane Datensicherung auf ein eben gerade vorhanden USB-Stick.

Der Gedanke „… mal eben schnell ein Backup machen, wegen der Situation so und so …“ kann auch in großem Frust enden. Hier einige Beispiele.

  • Da sind plötzlich 28 GB größer als der „32 GB USB-Stick“
  • Die vorhanden Daten auf dem USB-Stick sollen erhalten bleiben, aber es gibt kein weiteres Backup-Medium
  • Eine Meldung wie „… zu groß …“ ergibt keinen Sinn, da das Backup sehr viel kleiner ist, als der verfügbare Speicherplatz
  • Oder es soll der USB-Stick das Dateisystem ändern
  • Und weitere unverständliche Meldungen und Fehler

Ich werde diesen Beitrag zum besserem Verständnis in drei Teile separieren, „32 GB USB-Stick“, „Datensicherung“ und „Datensicherung auf USB-Stick“.

32 GB USB-Stick

Selbstverständlich kann es auch ein „64 GB USB-Stick“ sein oder größer und es trifft auch auf Speicherkarten sowie andere Speichermedien zu. Die 32 GB sollen aber das Thema hier besser darstellen.

Dateisysteme altes FAT32 und neues exFAT

Im Allgemeinen werden USB-Sticks mit dem Dateisystem FAT32 ausgeliefert. Doch FAT32 ist seit 2006 ein veraltetes Dateisystem, das ist ein Fakt!

Gerade für externe Flashspeicher wurde das Dateisystem „exFAT“ erfunden und kann von Linux, macOS und Windows ohne Probleme gelesen und beschrieben werden.

Der hauptsächliche Unterschied ist, FAT32 kann einzelne Dateien nur bis zu einer Größe von 4 GB verarbeiten. Das ist eine Hürde für viele Videos und sehr hoch auflösende Bilder im RAW-Format. Daraus resultieren die Meldungen mit „zu groß“ oder „to large“ und diese beziehen sich auf einzelne Dateien und nicht dem gesamten Backup.

Hingegen exFAT besitzt keine theoretische Größenbeschränkung für die einzelne Datei.

Daher sollten externe Medien, die von Unixartigen Betriebssystemen und Windows genutzt werden sollen, mit exFAT formatiert werden. Für Linux selbst ist „ext4“ von mir empfohlen, robust und sehr kompatibel zu anderen Unixartigen.

Im Weiteren verwende ich die Abkürzung „OS“, operating system, für Betriebssystem.

Präfixe GB und GiB

Gigabyte, abgekürzt GB, ist der Name, mit dem Werbung gemacht wird, da er erstens kürzer ist, zweitens schon länger existiert und drittens mehr Speicherplatz angibt, als tatsächlich zur Verfügung steht.

Dagegen ist Gibibyte die tatsächliche Angabe des Speichers, da unsere modernen OS mit 8 Bit-adressierbare Einheiten arbeiten. Davon ausgehend sind Binärpräfixe immer das Vielfache von 1024.

32 GB  = Dezimalpräfix / 1000
32 GiB = Binärpräfix   / 1024
32 GB  ~ 29,8 GiB

Also hat ein „32 GB USB-Stick“ in Wirklichkeit nur 29,8 GiB Speicherplatz.

Übrigens, in Linux werden standardmäßig Binärpräfixe angewendet, auch wenn im Terminal nur K, M und G als Größenangabe gezeigt werden.

rokom-computer-hardware-32gb-usb-stick

Speichergröße der Datensicherung

Bei jeder Speicherung werden Indizierungen vorgenommen, die in mindestens zwei Indizes eingetragen werden, nämlich dem Dateisystem-Index und dem Datenträger-Index, die beide nicht im Dateimanager angezeigt werden. Das verringert den verfügbaren Speicherplatz. Wer zusätzlich noch aufgeblähte Backup-Programme nutzt, in denen Datenbanken abgearbeitet werden müssen, der verkleinert weiter den tatsächlich nutzbaren Speicher. Besonders „sichere“ Backupsysteme haben zusätzliche redundante Datenbanken.

Außerdem geht durch die Clustergröße der Dateisysteme auch Speicherplatz verloren, da nicht jeder Cluster voll belegt werden kann, zum Beispiel wenn eine Datei endet.

So kann es passieren, dass ein Backup von 28 GB zu groß ist für einen „32 GB USB-Stick“.

Datensicherung

Wer diesen Blog liest, weiß, dass ich „rsync“ bevorzuge, obwohl sehr viele Kommandos zur Datensicherung genutzt werden können.

Für kleine Backups, die zudem auch noch auf USB-Sticks gesichert werden sollen, bietet sich ein anderes Verfahren an, um Zeit und Speicherplatz zu sparen. Die Archiverstellung mit „tar“ in Verbindung mit der Komprimierung durch „gzip“ oder „xz“ ermöglicht eventuell auch mehrere Datensicherungen auf einem USB-Stick abzulegen.

So kann ein Home-Verzeichnis von 12 GiB auf etwa 6 GiB reduziert werden, je nach Dateiinhalten, in diesem Falle viel Text und XHTML.

tar -czvf /media/user9/32GBUSB/user9-$(date +%d.%m.%Y-%R).tar.gz /home/user9
  • -c: Erstellt ein neues Archiv mit Datum und Uhrzeit im Archivnamen
  • -z: Komprimiert das Archiv mit gzip
  • -v: Zeigt die Dateien an, die gepackt werden
  • -f: Gibt den Namen der Archivdatei an

Es kann auch mit anderen Kommandos noch mehr komprimiert werden, dauert länger und ist nicht unbedingt „rock-solid“.

Das modernste Verfahren, die xz-Komprimierung, also dann „*.tar.xz“, ist zwar rechenintensiv, hat dafür die höchste Komprimierungsrate und gilt auch als solide.

tar -cJvf /media/user9/32GBUSB/user9-$(date +%d.%m.%Y-%R).tar.xz /home/user9
  • -J Ist die xz-Komprimierung

Vorbereitungen zur Datensicherung

Das wäre nun die Gelegenheit, die meisten Dateien ohne oder nicht sichtbarem Verlust in freie, zukunftssichere und moderne Formate zu konvertieren.

Bilder

Fotos vom Smartphone verbrauchen, meiner Erfahrung nach, den meisten Speicherplatz und daher kann dort auch der meiste Speicherplatz eingespart werden.

Jetzt könnte man meinen, natürlich können Bilder verkleinert werden, nur versteht möglicherweise einige das anders als andere Menschen.

Smartphones können Fotos mit Dimensionen der Auflösung bis zu 7.776 x 5.184 Pixel erstellen und komprimierter Speichergröße von fast 50 MB.

Ich habe schon Bilder-Ordner, hier Plural, gesehen, mit über 100.000 Fotos. Meine unmaßgebliche Meinung, wer soll sich das zu Lebzeiten ansehen, geschweige sortieren und katalogisieren, mit Stichwörtern und anderen Präferenzen?

Ich habe dafür Bash-Scripte geschrieben, die beispielsweise Bilder, bei bleibendem Seitenformat, auf HDMI-Größe schrumpfen oder ich setze die längste Kantenlänge auf 2.000 Pixel und schon kann bis auf ein Viertel der bisherigen Speichergröße geschrumpft werden.

Zusätzlich noch von einem alten JPEG-Algorithmus auf das Format WEBP konvertiert, dann können Bilder bei gleicher Ansicht auf dem Monitor zu einem Zehntel verkleinert werden.

Hier mal ein Beispiel. Bitte nur anwenden, wer genau weiß, was dieser Einzeiler von mir tut.

find . -name "*.png" -o -name "*.jpg" | parallel -eta 'cwebp {} -o {.}.webp && rm {}'
find . \( -name "*.png" -o -name "*.jpg" -o -name "*.jpeg" -o -name "*.tiff" -o -name "*.TIFF" -o -name "*.JPG" -o -name "*.JPEG" \) | parallel -eta 'cwebp {} -o {.}.webp && rm {}'

Dafür werden die folgenden Pakete benötigt:

imagemagick # Universelles Grafikprogramm
parallel # Beschleunigung des Vorgangs
webp # beinhaltet cweb zur Konvertierung
webp-pixbuf-loader # Unterstützung für Bildbetrachter

Bestimmt gibt es auch grafische Programme für Konvertierungen, aber diese kenne ich nicht und vor allem, sie sind nicht so interessant für mich.

! Problemen mit einzelnen Bildern

Bei Problemen mit einzelnen Bildern, kann es hilfreich sein, den alten Farbraum zu konvertieren. Hier drei Beispiele.

$ convert ./Bild-01.jpg -colorspace RGB ./Bild-01_rgb.jpg
$ cwebp ./Bild-01_rgb.jpg -o ./Bild-01.webp
$ magick ./Bild-01.jpg -quality 50 -define webp:lossless=false ./Bild-01.webp

! Doppelte Dateien

Doppelte Dateien, zu große Dateien, Dateien mit nicht lesbarem Format und so weiter können durch Bash-Scripte verwaltet werden. Doch gebe ich hier keine Script-Beispiele, weil das von diesem Hauptthema zu weit ablenkt. Sie können mich bei Bedarf kontaktieren.

Videos

Ähnlich wie mit den Bildern kann man auch mit Videos verfahren, da hier, ebenfalls meiner Erfahrung nach, der zweitgrößte Speicherverbrauch vorliegt.

Hier ein Beispiel für die Konvertierung in ein modernes Videoformat mit mehr als Halbierung der Speichergröße bei gleicher Sichtqualität.

find . -name "*.mp4" | parallel -eta 'ffmpeg -i {} -c:v libvpx-vp9 -crf 30 -b:v 0 -b:a 128k -c:a libopus {.}.webm && rm {}'

Folgende Pakete müssten zu denen der in Bilder genannten Pakete installiert werden:

ffmpeg # Universelles Audio- und Videoprogramm

Weitere Dateiformate

Weitere Dateiformate, wie von alten Audiodateien oder Textdateien, etwa „RTF“, steht für „Rich Text Format“ lassen sich ebenfalls in moderne und kleinere Formate konvertieren.

Für RTF bietet sich Markdown an, da der Syntax und eingebettete Objekte beibehalten werden, nur eben viel effizienter.

Wer seine Arbeiten nach 2001 mit Microsoft Office erstellt hat, wird wohl Pech haben. Zumindest ich werde keine solch verquirlten Formate konvertieren. Denn selbst das neueste MS Office kann meiner Erfahrung nach keine Dateien von vor 2001 fehlerfrei darstellen, also wenn MS sich selbst keine Mühe gibt, warum sollten das Andere tun. Der Punkt am letzten Satzende dafür, weil es eine rhetorische Frage war.

Datensicherung auf USB-Stick

Bald ist es so weit mit der Ausführung der Datensicherung. Voraussetzung ist natürlich auch, dass der USB-Stick beschreibbar ist und das Home-Verzeichnis ausnahmslos dem Benutzer gehört. Ansonsten aneignen mit:

sudo chown -R user9:user9 /home/user9/

Bereinigung

Doch damit nicht eine gigantische Menge an Nutzlosem und Unsinn mit gespeichert wird, sollte schnell noch bereinigt werden. Hier empfehle ich „bleachbit“.

usr/bin/bleachbit --clean --preset --sysinfo

Wer von der Wurzel an bereinigen will, sollte noch “ sudo bleachbit“ und „sudo apt autoremove“, debian-like, ausführen. Für Arch-Linux sind diese Kommandos zusätzlich zu bleachbit empfehlenswert:

sudo pacman -Sc # Cache-Bereinigung
sudo paccache -r # Sanfte Cache-Bereinigung
sudo pacman -Rs $(pacman -Qdttq) # Verwaiste Pakete entfernen
sudo lostfiles # Dateien ohne Beziehungen löschen
sudo pacman -Syu # Einfach nochmal updaten und upgraden

Ausführen der Datensicherung

Nun eine Zusammenfassung.

  1. USB-Stick mit exFAT oder ext4 formatieren, je nach Gebrauch
  2. Alte Formate, insbesondere von Bildern und Videos, in neue Formate konvertieren
  3. Bereinigung des OS und des home-Verzeichnis
  4. Komprimiertes Archiv auf dem Ziel-Gerät erstellen
  5. Nicht vergessen, den USB-Stick abmelden, beziehungsweise „sicher entfernen“

Epilog

So, ich hoffe, einigen Menschen geholfen zu haben. Zudem gilt immer, die Bilder meines Beitrages sind im Quellformat hochauflösende Vektorgrafiken und meine Schöpfungen sowie mein Eigentum.