Restic ist eine kostenlose, leistungsfähige und einfach zu bedienende Open-Source-Backup-Software. Wie du die Backup-Software unter Linux per Konsole installierst, konfigurierst und bedienst, erkläre ich dir in diesem Beitrag.
Restic erschien im Jahr 2015 und ist eine großartige Open-Source-Backup-Software, die sich besonders für Linux-Umgebungen eignet. Mit ihrer leistungsstarken Funktionalität und benutzerfreundlichen Schnittstelle ermöglicht Restic eine effiziente und zuverlässige Datensicherung, für lokal und Rclone-Ziele. In diesem Blogbeitrag werde ich aufzeigen, wie du Restic installieren, konfigurieren und effektiv nutzen kannst, um deine Daten optimal zu sichern.
Restic installieren
Restic wird ganz einfach mit folgendem Befehl installiert:
apt-get install restic
Backups mit Restic unter Windows: Restic installieren und per Kommandozeile verwenden
Repository anlegen für lokales Backup
Bevor du mit dem Erstellen von Backups beginnen kannst, musst du eine Repository anlegen. Eine Repository ist der Ort, an dem alle Backup-Daten und dazugehörige Informationen gespeichert werden. Überlege dir also, an welchen Ort du deine Backups erstellen möchtest, und gib diesen Pfad an.
restic init -r /Pfad/zur/Repository/
Restic legt unter diesem Verzeichnis Programmdaten- und Ordner an. Du wirst jetzt aufgefordert, ein Passwort anzugeben. Dieses dient der Sicherheit der Daten und wird zur Verschlüsselung der Backups verwendet. Verwende also ein sicheres Passwort, welches du dir gut merkst. Wenn du dieses Passwort verlierst, sind die Backup-Daten unwiederbringlich verloren.
Nach diesen Schritten ist deine Restic-Repository einsatzbereit, und du kannst mit dem Erstellen von Backups beginnen.
root@vps:/home# restic init -r /bkp/repo1/ enter password for new repository: enter password again: created restic repository ce979a7f55 at /bkp/repo1/ Please note that knowledge of your password is required to access the repository. Losing your password means that your data is irrecoverably lost.
Repository anlegen für Rclone
Mit Restic und Rclone ist es auch ganz einfach möglich, Backups von deinem System direkt in einen beliebigen Cloud-Speicher zu sichern, wie beispielsweise zu Google Drive oder OneDrive.
Zunächst musst du deinen Cloud-Speicher in Rclone einrichten. Wie genau das funktioniert, habe ich in diesem Beitrag ausführlich beschrieben:
Rclone: Verbindung zu Google Drive aufbauen per Shell
Ist die Verbindung in Rclone konfiguriert, wird mit folgendem Befehl eine neue Restic-Repository über Rclone in deinem hinterlegten Cloudspeicher angelegt. Erstelle zunächst ein passendes Verzeichnis für deine Repository und gib diesen im Befehl an. Der Konfigurationsname ist der Name, der beim Konfigurieren von Rclone vergeben wurde.
restic init -r rclone:Konfigurationsname:/Repository-Pfad/in/der/Cloud
Restic legt unter diesem Verzeichnis Programmdaten- und Ordner an. Du wirst jetzt aufgefordert, ein Passwort anzugeben. Dieses dient der Sicherheit der Daten und wird zur Verschlüsselung der Backups verwendet. Verwende also ein sicheres Passwort, welches du dir gut merkst. Wenn du dieses Passwort verlierst, sind die Backup-Daten unwiederbringlich verloren.
Backup erstellen
Nachdem eine Repository angelegt wurde, kann ein Backup an diese Repository angelegt werden.
Verwende folgenden Befehl für eine lokale Repository. Passe den Namen der Repository an und gib den Pfad an, welcher gesichert werden soll.
restic backup -r /Pfad/zur/Repository/ /Pfad/zum/Sichern/
Für eine Rclone-Repository verwendest du folgenden Befehl:
restic backup -r rclone:Konfigurationsname:/Repository-Pfad/in/der/Cloud/ /Pfad/zum/Sichern/
Auch zum Anlegen des Backups wird das Passwort der Repository benötigt. Die Ausgabe eines erfolgreichen Backups sieht so aus:
root@vps:/home# restic backup -r /bkp/repo1/ /home/itv4/daten/ enter password for repository: repository 23fd1af1 opened (repository version 2) successfully, password is correct created new cache in /root/.cache/restic no parent snapshot found, will read all files Files: 62 new, 0 changed, 0 unmodified Dirs: 8 new, 0 changed, 0 unmodified Added to the repository: 112.264 MiB (112.058 MiB stored) processed 62 files, 112.255 MiB in 0:06 snapshot 5e21f649 saved
Backup wiederherstellen
Restic verwendet die inkrementelle Backup-Strategie, die darauf abzielt, die Effizienz des Sicherungsvorgangs zu optimieren. In diesem Prozess wird beim ersten Backup ein sogenanntes Vollbackup erstellt, das sämtliche ausgewählten Daten umfasst. Bei folgenden Backups werden ausschließlich die Änderungen seit dem letzten Backup erfasst und gesichert. Diese Vorgehensweise minimiert den Zeitaufwand und den benötigten Speicherplatz, da nur die inkrementellen Veränderungen berücksichtigt werden und nicht alle Daten erneut gesichert werden. Dadurch wird auch der Speicherplatzbedarf für die Sicherungen effizient begrenzt.
Wie genau ein inkrementelles Backup funktioniert habe ich hier erklärt:
Backup-Strategien: Voll, Inkrementell und Differenziell
Um ein Backup wiederherzustellen, musst du zunächst die 8-stellige Snapshot-ID des jeweiligen Snapshots auslesen, von welchem du wiederherstellen möchtest, sofern du nicht das neueste Backup wiederherstellen möchtest.
Verwende folgenden Befehl für das Auslesen der Snapshots eines Backups einer lokalen Repository:
restic snapshots -r /Pfad/zur/Repository/
Für das Auslesen eines Backups aus einer Rclone-Repository lautet der Befehl:
restic snapshots -r rclone:Konfigurationsname:/Pfad/zur/Repository/
Anschließend musst du das Passwort der Repository eingeben. Es erfolgt eine Ausgabe mit einer Tabelle aller Snapshots dieser Repository samt Snapshot-ID und gesichertem Verzeichnis:
root@vps:/home# restic snapshots -r /bkp/repo1/ enter password for repository: repository b1209138 opened (repository version 2) successfully, password is correct ID Time Host Tags Paths ---------------------------------------------------------------------- 0c59912e 2024-01-09 14:00:00 vps /home/itv4/daten 27b372a4 2024-01-09 15:00:00 vps /home/itv4/daten 777f71ee 2024-01-09 16:00:00 vps /home/itv4/daten ---------------------------------------------------------------------- 3 snapshots
Um jetzt ein Backup eines bestimmten Zeitpunkts wiederherzustellen, verwendest du folgenden Befehl. Wenn du das neueste Backup wiederherstellen möchtest, kannst du einfach latest anstelle der Snapshot-ID verwenden.
restic restore Snapshot-ID -r /Pfad/zur/Repository/ -t /Zielverzeichnis/
Möchtest du, dass die Daten im ursprünglichen Verzeichnis wiederhergestellt werden sollen, verwendest du lediglich / als Pfad zum Wiederherstellungsverzeichnis:
restic restore Snapshot-ID -r /Pfad/zur/Repository/ -t /
Für die Wiederherstellung eines Backups aus einer Restic-Repository lautet der Befehl:
restic restore Snapshot-ID -r rclone:Konfigurationsdatei:/Pfad/zur/Repository/ -t /Zielverzeichnis/
Repository löschen
Um eine Restic-Repository zu löschen, musst du die Dateien, die das Repository darstellen, manuell von deinem Dateisystem entfernen. Restic selbst bietet keinen speziellen Befehl, um eine Repository zu löschen, da dies von der Art des Speicherorts abhängt, den du für deine Backups verwendet hast. Verwende also einfach den rm-Befehl, um den jeweiligen Ordner zu löschen:
rm -r /Pfad/zur/Repository/
Bei Fragen oder Anregungen freue ich mich natürlich über eure Kommentare.
Über mich
Ich bin Janis (aka. EurenikZ), 25 Jahre alt und komme aus der Nähe von Frankfurt am Main. Ich habe eine abgeschlossene IHK-Ausbildung zum Fachinformatiker für Systemintegration und arbeite als Junior IT-Administrator in einem IT-Systemhaus. Neben meinem IT-Blog beschäftige ich mich viel mit diversen IT-Themen und meinen Webseiten sowie Telegram Bots und biete IT-Dienstleistungen an.