Backup-Programme verlangen oft eine detaillierte Konfiguration und setzen entsprechende Einarbeitung voraus. Restic dagegen nutzen Sie am Prompt mit zwei schlichten Kommandos.
Die meisten Anwender wünschen sich für die Datensicherung einfache und schnell zu erlernende Werkzeuge, die sich zudem flexibel einsetzen lassen. Grafische Programme schrecken dabei häufig durch ihre enorme Funktionsvielfalt ab. Wie es eleganter geht, zeigen das kompakte Kommandozeilenwerkzeug Restic [1] und dessen grafisches Frontend Jarg [2].
Restic legt den Fokus auf Flexibilität bei gleichzeitig einfachem Handling. Statt am Prompt ellenlange Befehlszeilen mit kryptischen Parametern einzugeben, sichern Sie damit Daten bereits mithilfe weniger, einfacher Kommandos. Dabei hält das Tool alle Möglichkeiten offen: Sie können Ihre Datenbestände sowohl in der Cloud als auch auf lokalen Massenspeichern konservieren. Darüber steuern Sie bei Bedarf per SFTP einen Fileserver im LAN als Speicherort an. Die Implementierung als Kommandozeilenwerkzeug ermöglicht, Restic in eigene Skripte einzubinden und über Cronjobs zeitgesteuert auszuführen.
Restic verschlüsselt die Backups automatisch nach dem AES-256-Standard. Es beherrscht die inkrementelle Sicherung, speichert nach einer initialen Vollsicherung also nur noch die geänderten Daten. Entsprechend arbeitet die Software selbst umfangreiche Datenbestände sehr flott ab. Zudem bietet sie eine Funktion zur Deduplizierung, sodass keine redundanten Daten entstehen. Durch die Möglichkeit, Backups zu verifizieren, lässt sich sicherstellen, dass die Daten auch wirklich fehlerfrei gesichert wurden.
Restic findet sich in den Softwarearchiven aller gängigen Distributionen. Außerdem gibt es das Tool auch für andere freie Betriebssysteme wie verschiedene BSD-Derivate. Für andere Architekturen und Betriebssysteme beziehen Sie die Software über die Github-Seite des Projekts. Bei der Installation aus den Paketquellen entsteht kein Starter in den Anwendungsmenüs der jeweiligen Arbeitsumgebung, da Restic per se über kein grafisches Frontend verfügt.
Start frei!
Das grundlegende Konzept der Datensicherung mit Restic basiert auf Repositories, in die das Tool die Daten verschlüsselt ablegt. Für ein Backup auf dem lokalen Massenspeicher genügen zwei Befehle. Der erste (Listing 1, Zeile 2) legt das Repository für die Sicherung an. Das entsprechende Verzeichnis generiert Restic dabei automatisch und fragt nach einem Passwort zum Anlegen und zum Entschlüsseln der Datensicherungen. Das zweite Kommando (Zeile 3) schiebt ein Backup des angegebenen Ordners samt aller Unterverzeichnisse in das neue Repository. Restic fragt vor dem Sicherungslauf noch das Passwort ab und legt anschließend das Backup an (Abbildung 1).
Listing 1
Backup mit Restic
### lokal $ restic init -r /Pfad/zum/Repo $ restic -r /Pfad/zum/Repo backup /zu/sichernde/Daten ### remote $ restic init -r sftp:User@Host:/Pfad/zum/Repo $ restic -r sftp:User@Host:/Pfad/zum/Repo backup /zu/sichernde/Daten
Parameter
Bei Bedarf erweitern Sie die Befehlszeile um zusätzliche Parameter. So sorgt --verbose für die Ausgabe zahlreicher Detailmeldungen während des Backups. Um mehrere Verzeichnisse in unterschiedlichen Pfaden in einem Durchlauf zu sichern, geben Sie diese jeweils getrennt durch ein Leerzeichen ein. Die Parameter --exclude und --iexclude schließen einzelne Verzeichnisse oder ganze Pfade von der Sicherung aus.
Für sich wiederholende größere Sicherungsaufgaben legen Sie Textdateien an, in denen Sie ein- oder auszuschließende Verzeichnisse oder einzelne Dateien eintragen. Für eine Datensicherung auf einem Server im LAN geben Sie dieselben Befehle ein wie bei einer lokalen Sicherung und ergänzen den Zielpfad lediglich durch den vorangestellten Rechnernamen und das verwendete Protokoll (Listing 1, Zeile 5 und 6).
Für das automatische Löschen von Sicherungen gibt es den Parameter --keep. Mit --keep-last Anzahl legen Sie fest, wie viele der letzten Sicherungen erhalten bleiben. Weitere Parameter zum automatisierten Entfernen von Backups innerhalb bestimmter Intervalle führt die Restic-Dokumentation auf [3]. Durch das Kombinieren verschiedener Intervallparameter gestalten Sie eine ausufernde Sammlung von Backups wieder übersichtlicher. Dazu müssen Sie lediglich einmal den Löschbefehl nutzen.
Detailversessen
Um bei Bedarf einzelne Backups einzusehen, genügt es nicht, den Zielordner zu öffnen. Zwar finden Sie dort zahlreiche Unterverzeichnisse, die aber kryptische Namen tragen. Zudem lassen sich wegen der Verschlüsselung die darin liegenden Daten nicht direkt einsehen. Um Einblick zu erhalten, hängen Sie das Repository wie ein normales Laufwerk ins System ein. Sie legen dazu einen gesonderten Einhängeordner an und führen anschließend den Befehl aus der zweiten Zeile von Listing 2 aus.
Restic hängt nach Eingabe des Passworts am Prompt das Backup-Repository ein und entschlüsselt die Datenbestände im Zielverzeichnis. Sie können diese nun im Unterverzeichnis snapshots/ des Einhängeordners zwar lesen, aber nicht bearbeiten, da sie schreibgeschützt vorliegen. Im Terminal bleibt währenddessen Restic aktiv. Mit der Tastenkombination [Strg]+[C] hängen Sie das Laufwerk wieder aus, und die Daten verschwinden aus dem Zielordner.
Listing 2
Backups prüfen
### Repo einhängen $ restic -r /Pfad/zum/Repo mount /Pfad/zum/Mountpoint ### Repos prüfen und vergleichen $ restic -r /Pfad/zum/Repo check --read-data $ restic -r /Pfad/zum/Repo snapshots $ restic -r /Pfad/zum/Repo diff Snapshot1 Snapshot2 ...
Vergleiche
Mit Restic lassen sich darüber hinaus Datenbestände vergleichen oder Ordner auf ihre Integrität hin unter die Lupe nehmen. Hier verwenden Sie die Parameter diff und check. Mit Letzterem prüfen Sie den Index und Inhalt des angegebenen Repositorys (Listing 2, Zeile 4).
Um zwei oder mehr Snapshots zu vergleichen, benötigen Sie deren Identifikationsnummern, die Sie mithilfe des Kommandos aus Zeile 5 herausfinden. Die ID-Nummern erscheinen dabei tabellarisch untereinander, zusammen mit dem Zeitstempel der jeweiligen Sicherung (Abbildung 2). Nun können Sie die Snapshots identifizieren und direkt vergleichen (Zeile 6).
Daten wiederherstellen
Um Daten aus dem Backup wiederherzustellen, nutzen Sie den Parameter restore. Dazu ermitteln Sie zunächst die ID-Nummer des fraglichen Snapshots (Listing 3, Zeile 1) und stoßen dann den Restore-Lauf an (Zeile 2). Dabei dürfen Sie auch neue, noch nicht vorhandene Ordner als Zielpfad für das Zurücksichern angeben. Existiert das Zielverzeichnis noch nicht, legt Restic es automatisch ohne weitere Rückfragen an.
Listing 3
Daten wiederherstellen
$ restic -r /Pfad/zum/Repo snapshots $ restic -r /Pfad/zum/Repo restore -t /Pfad/zum/Restore ID-Nummer
Grafisches Frontend
Es gibt mehrere grafische Frontends für Restic, von denen einige allerdings nicht mehr weiterentwickelt oder nur sporadisch gepflegt werden. Letzteres gilt auch für Jarg, das im September 2021 das letzte Mal ein Update erhielt. Der Name steht als Akronym für Just another Restic GUI.
Das Frontend deckt den grundlegenden Funktionsumfang von Restic ab und steht ausschließlich im Quellcode oder als Appimage für 64-Bit-Systeme zum Download bereit. In die Paketquellen der gängigen Distributionen hat Jarg bisher noch nicht Einzug gehalten. Nach dem Herunterladen der Appimage-Datei gewähren Sie ihr mit dem Befehl chmod +x Jarg.0.2.0.AppImage zunächst Ausführungsrechte. Danach rufen Sie das Frontend mit ./Jarg.0.2.0.AppImage am Prompt auf.
Sie gelangen in ein sehr übersichtliches Anwendungsfenster, das lediglich einige Angaben zum vorgegebenen Profil sowie vier Schaltflächen zur Bedienung anzeigt (Abbildung 3). Durch einen Klick auf das Bleistiftsymbol öffnen Sie ein kleines Einstellungsmenü. Dort hinterlegen Sie den Pfad zum Repository für die Backups, die zu sichernden Verzeichnisse sowie das zugehörige Passwort. Das Repository lässt sich dabei auch auf einem entfernten Server anlegen.
Sie speichern die Einstellungen über den Button Save unten links und klicken dann auf Initialize, woraufhin das Tool das Repository anlegt. Über die Schaltfläche Backup stoßen Sie anschließend die Sicherung an. Jarg blendet die Meldungen von Restic während des Programmablaufs rechts im grau hinterlegten Fenstersegment ein (Abbildung 4). So erkennen Sie Fehler sofort und können das Profil entsprechend modifizieren.
Ein Klick auf den Schalter List fördert eine Liste der vorhandenen Snapshots inklusive deren ID-Nummern zutage, sodass Sie mithilfe des Dialogs Restore die Datenbestände unkompliziert rekonstruieren.
Profile
Neben dem vorgegebenen Profil erstellen Sie weitere Profile für unterschiedliche Sicherungsaufgaben, indem Sie im Konfigurationsdialog oben links auf default klicken. Es öffnet sich ein Auswahlmenü, aus dem Sie den Eintrag new wählen. Dann legen Sie im Namensfeld eine Bezeichnung für das neue Profil fest, füllen die Felder für die Pfade und das Passwort aus und sichern das neue Profil. Danach können Sie es bei jedem Programmaufruf links oben im Fenster auswählen, ohne manuell weitere Angaben liefern zu müssen.
Fazit
Restic nimmt regelmäßigen Backup-Läufen den Schrecken und lässt sich auch ohne tiefergehende Kenntnisse um Datensicherungskonzepte und -strategien sowohl am Prompt als auch über das grafische Frontend Jarg sofort einsetzen. Das Werkzeug erledigt seine Aufgabe schnell und zuverlässig. Für Heimanwender und Administratoren im Unternehmen bietet sich das Duo Restic/Jarg daher als handliche Lösung für strukturierte Datensicherungen an. (csi/jlu)
Infos
-
Restic: https://restic.net
-
Automatisiertes Löschen: https://restic.readthedocs.io/en/stable/060_forget.html#removing-snapshots-according-to-a-policy









