Ich habe es ja immer wieder betont: Backup ist wichtig und die einzige Versicherung gegen Datenverlust! Doch damit ein Backup wirklich nützlich ist, muss es aktuell sein. Und das ist es dann, wenn es mit wenig Aufwand zu erstellen ist.

Es gibt unter Linux unzählige Möglichkeiten, ein Backup zu erstellen. ich beschreibe hier das Vorgehen mit borgbackup, weil mir dieses Tool zusagt. Die Vorteile sind:

  • Es ist schnell.
  • Backups werden komprimiert und verschlüsselt.
  • Es werden bei jedem Backup nur die geänderten Daten gespeichert.
  • Es hat unzählige Optionen und lässt sich in fast jeder Situation einsetzen.

Der letzte Punkt kann aber auch ein Nachteil sein, besonders für den Einsteiger. Und ein weiterer Nachteil sei nicht verschwiegen: Ohne Kommandozeile ist das Einrichten nicht möglich.

Aber gerade deshalb möchte ich hier eine einfache Anleitung liefern, die einen durchaus üblichen Anwendungsfall abdeckt: Das Backup des Home-Directories auf eine externe USB-Festplatte.

borgbackup und borgmatic installieren

Das Backup-Programm borgbackup kann einfach aus dem Standard-Repository über die YaST Softwareverwaltung installiert werden:

  • Die Softwareverwaltung starten über System > Software installieren oder löschen
  • Nach borgbackup suchen
  • Häkchen setzen und übernehmen
  • Nach borgmatic suchen
  • Ebenfalls Häkchen setzen und übernehmen

borgbackup initialisieren

Als ersten Schritt gilt es nun auf der externen USB-Platte ein Verzeichnis für das Backup einzurichten, borgbackup nennt das ein Repository. Verbinde jetzt also erst mal die Platte mit deinem Computer und öffne das Verzeichnis mit der Dateiverwaltung Dolphin. Drücke eventuell F6, damit du eine Adressleiste angezeigt bekommst, in der der vollständige Pfad zu deiner Platte angezeigt wird. Das sollte so etwas wie

/run/media/<benutzername>/<label>

sein. Diesen Pfad wirst du nämlich noch brauchen. Schreibe ihn auf und/oder kopiere ihn in die Zwischenablage!

Jetzt geht es auf in die Kommandozeile. Über

Start > System > Konsole

öffnest du das Kommandofenster. Gib dort folgendes Kommando ein, wobei du <benutzername> und <label> durch die bei dir passenden Werte ersetzt:

mkdir /run/media/<benutzername>/<label>/borg
borg init --encryption=keyfile /run/media/<benutzername>/<label>/borg
borg key export --qr-html /run/media/<benutzername>/<label>/borg backupkey.html

Das erste Kommando legt auf der externen Festplatte ein Verzeichnis borg an. Das zweite initialisiert darin ein verschlüsseltes Repository. Das dritte exportiert den Schlüssel in lesbarem Format in eine html-Datei mit dem Namen backupkey.html. Diese findest du in deinem Home-Verzeichnis. Öffne sie mit dem Browser, drucke sie aus und verwahre sie an einem sicheren Ort. Oder speichere die Datei an einer vertrauenswürdigen Stelle getrennt vom Backup-Medium. Für den Fall der Fälle kannst du mit diesem Stück Papier oder dieser Datei später wieder den Schlüssel für das Repository zurückgewinnen, falls dieser z.B. durch einen Festplattenfehler verlorengegangen ist. und merke: Ohne Schlüssel sind die Daten in deinem Backup nichts wert!

borgmatic einrichten

borg ist ein Kommando mit unzähligen Optionen. Die Beispiele oben waren von der harmlosen Sorte. Besonders wenn man dann tatsächlich ein Backup ausführen möchte, ist das ein sehr langes Kommando. Hier greift borgmatic ein. Dort speichert man die Einstellungen für das Backup einmalig in einer Datei - und kann fortan das Backup mit einem simplen Kommando ausführen.

Aber auch das borgmatic Konfigurationsfile hat unzählige Optionen. Durch die wichtigsten davon möchte ich dich führen.

Zuerst einmal gibt es eine Vorlage, die du dir kopierst und dann an deine Umgebung anpasst. Dazu geht es weiter in der Kommandozeile:

mkdir ~/.config/borgmatic
cp /etc/borgmatic/config.yaml ~/.config/borgmatic

Das erste Kommando legt in deinem Home-Directory das Verzeichnis borgmatic unterhalb des versteckten Verzeichnisses .config an. Das zweite Kommando kopiert die Vorlage für die Konfiguration in dieses Verzeichnis. Diese Datei musst du nun nach deinen Wünschen anpassen. Öffne sie dazu zunächst mit dem Texteditor Kate. Aber wie findest du die Datei im Dateimanager Dolphin?

Ich bevorzuge den Weg, in Dolphin erst einmal in den Persönlichen Ordner zu wechseln (dein Home-directory) und dann in der Adresszeile einen Punkt hinter den Pfad /home/<benutzername>/ einzugeben. Jetzt bekommst du alle versteckten Verzeichnisse angeboten, deren Namen mit einem Punkt beginnt. Wähle hier .config aus und drücke die Eingabetaste. Von dort solltest du dann weiter zu borgmatic navigieren können und mit einem einfachen Klick öffnest du die Datei config.yaml im Texteditor Kate.

Die wichtigsten Einstellungen in dieser Datei zeige ich dir in den folgenden Ausschnitten. Dabei ist <benutzername> und <label> immer passend zu ersetzen:

location:
    # List of source directories to backup (required). Globs and tildes are expanded.
    source_directories:
        - /home/<benutzername>
...
    repositories:
        - /run/media/<benutzername>/<label>/borg
...
    exclude_patterns:
        - '*.tmp'
        - ~/.cache
        - ~/.dbus
        - ~/.m2
        - ~/.oracle_jre_usage
        - ~/.thumbnails
        - ~/Downloads
...
retention:
    # Keep all archives within this time interval.
    keep_within: 24H

    # Number of daily archives to keep.
    keep_daily: 14

    # Number of weekly archives to keep. (keeps weekly archives for about 2 years)
    keep_weekly: 100

    # Number of monthly archives to keep. (keeps monthly archives for about 5 years)
    keep_monthly: 60

    # Number of yearly archives to keep. (forever)
    keep_yearly: -1
...
consistency:
    # List of one or more consistency checks to run: "repository", "archives", and/or
    # "extract". Defaults to "repository" and "archives". Set to "disabled" to disable
    # all consistency checks. "repository" checks the consistency of the repository,
    # "archive" checks all of the archives, and "extract" does an extraction dry-run
    # of just the most recent archive.
    checks:
        - archives

    # Restrict the number of checked archives to the last n. Applies only to the "archives" check.
    check_last: 3

Da wo ich die drei Punkte gemacht habe stehen noch weitere Einstellungen. Die wichtigsten sind aber oben aufgeführt:

  • Was möchte ich sichern? Hier ist das eigene Home-Directory angegeben.
  • Wo soll es hin? Da steht der Pfad zum Repository.
  • Welche Dateien und Verzeichnisse möchte ich von der Sicherung ausschließen? Du kannst diese Liste deinen Bedürfnissen anpassen.
  • Wie lange sollen Backups aufgehoben werden?
  • Welche Checks sollen jeweils durchgeführt werden? Ich schränke das auf Konsistenzchecks der letzten drei Sicherungen ein.

Der Punkt "retention" ist nicht ganz einfach zu verstehen. Eine ausführliche Erklärung findet sich in der borg Dokumentation zum Befehl prune.  Aber auch noch mal zu den von mir vorgeschlagenen Einstellungen. Ich erstelle typischerweise jede Woche eine Sicherung. Wenn sich wichtige Dinge geändert haben, dann auch mal öfter. Die obigen Einstellungen sagen nun:

  • Behalte auf alle Fälle die Backups der letzten 24 Stunden, auch wenn es mehrere waren.
  • Behalte darüber hinaus 14 Backups, aber nicht mehr als eines pro Tag. Wenn ich in der Tat nur einmal wöchentlich gesichert habe, dann reicht der Zeitraum dieser Backups vielleicht schon 14 Wochen zurück.
  • Behalte weitere 100 Backups, aber nicht mehr als eines pro Woche. Habe ich in einer Woche mehr als ein Backup gemacht, dann würde da eines davon gelöscht werden. Ansonsten reicht der damit gesicherte Zustand etwa 2 Jahre zurück.
  • Ältere Backups werden dann auf eines pro Monat ausgedünnt und dann für weitere 5 Jahre = 60 Backups aufbewahrt.
  • Für noch ältere Zeiträume wird dann nur noch 1 Backup pro Jahr aufbewahrt, das aber ohne Begrenzung.

Wenn du überhaupt keine Backups löschen willst, dann lasse den gesamten Abschnitt "retention" einfach weg!

 Desktop Icon erstellen

Auch borgmatic ist ein Kommandozeilenprogramm. Wir wollen die Sicherung aber mit einem Klick anstoßen können. Deshalb richten wir einen passenden Desktop Starter ein.

Gehe dazu im Dateimanager Dolphin in deinen Persönlichen Ordner und von da nach "Schreibtisch". Hier siehst du eine Menge von Dateien mit der Endung .desktop, die den Icons auf deinem Desktop entsprechen. Nach einem Rechtsklick in einen freien Bereich wählst du:

Neu erstellen > Textdatei

und nennst die Datei z.B. Borg Backup.desktop. Nach einem Rechtsklick auf die neue Datei wählst du "Mit Kate öffnen". Füge dann folgenden Inhalt in die Datei ein:

[Desktop Entry]
Comment[de_DE]=Backup meines Home-Directories
Comment=
Exec=borgmatic -v 1
Icon=yast-backup
Name[de_DE]=Borgmatic Backup
Name=Borgmatic Backup
StartupNotify=true
Terminal=true
TerminalOptions=\s--noclose
Type=Application

und speichere die Datei. Du findest jetzt ein entsprechendes Icon auf deinem Desktop, das aber noch ein rotes Warndreieck ziert. Gehe noch einmal mit Rechtsklick auf das Icon und wähle "Eigenschaften". Gehe auf den Tab "Berechtigungen" und wähle "ausführbar". Wenn du den Dialog schließt, ist das Warndreieck verschwunden.

Backup ausführen

Um ein Backup auszuführen sind nun nur noch wenige Schritte notwendig:

  • Schließe die externe USB-Festplatte an
  • Wenn der Dialog der Geräteüberwachung erscheint, öffne die Festplatte im Dateimanager. Das stellt sicher, dass sie auch wirklich unter /run/media/<benutzername> eingehängt wird.
  • Klicke jetzt auf dein neu erstelltes Desktop-Icon

Es erscheint ein Konsolenfenster, in dem du den Ablauf der Sicherung verfolgen kannst. Erscheint die letzte Meldung "Backup created.", dann ist die Sicherung erfolgreich abgeschlossen. Das Konsolenfenster kannst und musst du nun von Hand schließen.

Das erste Mal dauert das natürlich noch einige Zeit. Es müssen ja alle deine Dateien kopiert werden. Die weiteren Male geht das deutlich schneller. Eine Sicherung von über 200.000 Dateien, von denen natürlich nur die wenigsten verändert worden sind, geht bei mir in ein bis zwei Minuten über die Bühne.

Gesicherte Daten zurückspielen

Für jede Sicherung legt borg ein sogenanntes Archiv an. Darin ist ein komplettes Abbild aller Dateien zum entsprechenden Zeitpunkt enthalten. Du kannst den Stand eines jeden beliebigen Zeitpunktes wieder zurückkopieren. Dazu braucht man aber zunächst einmal wieder die Kommandozeile. Die wichtigen Kommandos sind borg list, borg mount und borg umount.

borg list

zeigt dir eine Liste der Archive an. Diese kann im Lauf der Zeit ziemlich lang werden. Die genaue Beschreibung des Kommandos findest du hier:

https://borgbackup.readthedocs.io/en/stable/usage/list.html

Mit

borg list --last 20

kannst du z.B. die letzten 20 Archive anzeigen lassen. Deren Namen steht in der ersten Spalte und gibt Hinweis auf Datum und Uhrzeit der Erstellung.

borg mount und borg umount

Möchtest du dir den Inhalt eines bestimmten Archivs anschauen oder Dateien zurückkopieren, dann helfen die folgenden Kommandos:

cd
mkdir restore
borg mount <archivename>::/run/media/<benutzername>/<label> restore

Mit cd wechselst du in dein Home-Verzeichnis. dort legst du dann ein leeres Unterverzeichnis mit dem Namen restore an. Das dritte Kommando weist borg an, den Inhalt des entsprechenden Archivs aus dem Repository unter dem Verzeichnis restore einzublenden.

Jetzt kannst du den Dateimanager benutzen und beliebig Dateien aus der Sicherung zurückkopieren. Bist du fertig, so kannst du mit

borg umount restore
rmdir restore

diese Zuordnung wieder rückgängig machen und das als "Mount point" verwendete Verzeichnis restore wieder entfernen.

Das Kommando kennt noch viele weitere Optionen, die du auf

https://borgbackup.readthedocs.io/en/stable/usage/mount.html

nachlesen kannst. Interessant könnte sein:

# Blende nicht nur ein Archiv, sondern z.B. die letzen 3 Archive ein:
borg mount --last 5 /run/media/<benutzername>/<label> restore

# Zeige die Versionen der Dateien eines Verzeichnisses in einer konsolidierten Ansicht an:
borg mount -o versions --last 5 /run/media/<benutzername>/<label>/borg restore home/<benutzername>/Dokumente

Je nachdem wie viele Dateien zu bearbeiten sind kann das Kommando einige Zeit brauchen. Dann aber stehen dir alle Versionen aller Dateien des Ordners Dokumente aus den letzten 5 Sicherungen zur Verfügung.

Links zum Thema

Pfad