Diese Anleitung erklärt, was Restic ist, wie man Restic in verschiedenen Linux-Distributionen installiert und schließlich, wie man Daten mit Restic in Linux-Betriebssystemen sichert und wiederherstellt.
Restic - Eine schnelle, sichere und effiziente Sicherungsanwendung
Halten Sie sich zurück ist ein schnelles, quelloffenes, sicheres und plattformübergreifendes Sicherungsprogramm. Es ermöglicht das Speichern mehrerer Revisionen von Dateien und Verzeichnissen in einem verschlüsselten Repository, das auf verschiedenen Backends gespeichert ist.
Restic verwendet Kryptographie, um die Vertraulichkeit und Integrität Ihrer Daten zu gewährleisten. Es verschlüsselt die Daten mit AES-256 im Zählermodus und authentifizieren Sie es mit Poly1305-AES Authentifizierungscode für kryptografische Nachrichten.
Das Sichern und Wiederherstellen von Daten mit Restic ist einfach und sehr schnell! Es überträgt nur die geänderten Dateien (inkrementelles Backup), genau wie Rsync .
Mit Restic können wir problemlos Dateien und Verzeichnisse auf einer lokalen Festplatte oder einem Remote-System oder einem Cloud-Speicher sichern. Restic unterstützt beliebte Cloud-Speicher-Backends wie AWS, Azure, BackBlaze, Google Cloud, OpenStack und einige mehr.
Restic wird mit Go geschrieben Programmiersprache und deren Quellcode ist auf GitHub frei verfügbar. Es ist eine plattformübergreifende Sicherungsanwendung. Es unterstützt GNU/Linux, macOS, FreeBSD, openBSD und Microsoft Windows.
Installieren Sie Restic unter Linux
Restic ist für gängige Linux-Betriebssysteme gepackt.
Installieren Sie Restic unter Alpine Linux:
$ sudo apk add restic
Installieren Sie Restic unter Arch Linux, EndeavourOS, Manjaro Linux:
Restic ist in den Standard-Repositories von Arch Linux verfügbar. Stellen Sie sicher, dass [Community]
Repository aktiviert ist und Restic in Arch Linux und seinen Varianten wie EndeavourOS, Manjaro Linux mit Pacman installiert wie unten gezeigt.
$ sudo pacman -S restic
Installieren Sie Restic von AUR:
Restic ist auch in AUR verfügbar. Sie können es also mit jedem AUR-Hilfsprogramm wie Paru installieren oder Juhu , in Arch-basierten Systemen.
$ paru -S restic-git
Oder,
$ yay -S restic-git
Installieren Sie Restic in Debian, Ubuntu, Linux Mint, Pop_OS!:
$ sudo apt-get install restic
Installieren Sie Restic in Fedora:
$ sudo dnf install restic
Installieren Sie Restic in RHEL, CentOS, AlmaLinux und Rocky Linux:
$ sudo dnf copr enable copart/restic
$ sudo dnf install restic
Installieren Sie Restic in Solus:
$ sudo eopkg install restic
Installieren Sie Restic in Nix OS:
$ nix-env --install restic
Installieren Sie Restic in openSUSE:
$ sudo zypper install restic
Restic mit Linuxbrew installieren:
$ brew install restic
Installieren Sie Restic von der Quelle:
Für andere Betriebssysteme können Sie es wie unten kompilieren und installieren. Stellen Sie zunächst sicher, dass Sie Go installiert haben Sprache auf Ihrem System.
- So installieren Sie die Go-Sprache unter Linux
Sobald Go installiert ist, klonen Sie das restic github-Repository von git:
$ git clone https://github.com/restic/restic
Dieser Befehl klont den gesamten Inhalt des Restic-Repositorys im aktuellen Arbeitsverzeichnis.
Cd in das Restic-Verzeichnis:
$ cd restic
Und installieren Sie Restic wie folgt:
$ go run build.go
Überprüfen Sie die installierte Restic-Version:
$ restic version restic 0.12.0 compiled with go1.14.12 on linux/amd64
Restic aktualisieren
Wenn Sie Restic aus offiziellen Repositories installiert haben, könnte es sich um eine etwas alte Version handeln.
Führen Sie Folgendes aus, um Restic auf die neueste Version zu aktualisieren:
$ sudo restic self-update
Überprüfen Sie nun die Version mit dem Befehl:
$ restic version restic 0.12.1 compiled with go1.16.6 on linux/amd64
Sichern und Wiederherstellen von Daten mit Restic in Linux
Restic unterstützt die folgenden Backends zum Speichern des Backups:
- Lokales Verzeichnis,
- sftp-Server (über SSH),
- HTTP-REST-Server,
- AWS S3,
- OpenStack Swift,
- BackBlaze B2,
- Microsoft Azure Blob Storage,
- Google Cloud-Speicher
- Und viele andere Dienste über den rclone .
Lassen Sie uns nun sehen, wie man Daten in einem lokalen Verzeichnis sichert und wiederherstellt.
Neues lokales Repository erstellen
Lassen Sie uns zunächst ein Repository erstellen, um das Backup zu speichern. Zum Beispiel werde ich ein Repository mit dem Namen mybackup erstellen in meinem $HOME-Verzeichnis.
$ restic init --repo ~/mybackup
Geben Sie das Passwort für das Repository zweimal ein. Sie müssen sich das Passwort merken, um später auf dieses Repository zugreifen zu können. Andernfalls verlieren Sie die im Repository gespeicherten Daten dauerhaft. Sie wurden gewarnt!
enter password for new repository: enter password again: created restic repository c1c5bcfdb8 at /home/sk/mybackup Please note that knowledge of your password is required to access the repository. Losing your password means that your data is irrecoverably lost.
Wie Sie in der obigen Ausgabe sehen, ist ein lokales Restic-Repository mit der ID c1c5bcfdb8
wird unter /home/sk/mybackup
Ort.
Jetzt ist es an der Zeit, Ihre Daten im neu erstellten Repository zu sichern.
Daten mit Restic im lokalen Verzeichnis sichern
Ich werde die gesamten ~/mydata
sichern Verzeichnis (einschließlich des Verzeichnisses selbst) in das Repository ~/mybackup
mit Befehl:
$ restic -r ~/mybackup backup ~/mydata
Geben Sie das Passwort Ihres Repositorys ein:
Beispielausgabe:
enter password for repository: repository c1c5bcfd opened successfully, password is correct no parent snapshot found, will read all files Files: 7 new, 0 changed, 0 unmodified Dirs: 4 new, 0 changed, 0 unmodified Added to the repo: 21.919 MiB processed 7 files, 21.913 MiB in 0:00 snapshot 7457d80e saved
Wie Sie sehen können, hat restic das Backup des angegebenen Verzeichnisses erstellt, z. B. mydata . Außerdem habe ich einen Snapshot des aktuellen Backups mit dem eindeutigen Namen 7457d80e erstellt .
Lassen Sie uns den obigen Befehl aufschlüsseln und sehen, was jede Option bewirkt.
restic
:Der Restic-Befehl-r
:Gibt das Repository an~/mybackup
:Repository-Namebackup
- Restic-Unterbefehl zum Sichern von Dateien/Ordnern~/mydata
- Das zu sichernde Verzeichnis.
Fügen Sie weitere Dateien/Ordner im Sicherungsverzeichnis hinzu. Zum Beispiel habe ich eine neue Datei namens vi editor.pdf
hinzugefügt in ~/mydata
Verzeichnis. Führen Sie nun denselben restic-Befehl erneut aus:
$ restic -r ~/mybackup backup ~/mydata enter password for repository: repository c1c5bcfd opened successfully, password is correct using parent snapshot 7457d80e Files: 1 new, 0 changed, 7 unmodified Dirs: 0 new, 3 changed, 1 unmodified Added to the repo: 50.123 KiB processed 8 files, 21.957 MiB in 0:00 snapshot 963d4de3 saved
Restic erstellt bei jeder Ausführung neue Snapshots mit eindeutigem Namen.
Da Restic inkrementelle Sicherungen durchführt, sind die nachfolgenden Sicherungen ziemlich schneller als die vorherigen Sicherungen. Wir können die Daten weiterhin im Sicherungsordner hinzufügen und die Sicherung ausführen, um viele Schnappschüsse zu erstellen.
Nicht nur die Verzeichnisse, Restic erlaubt uns auch, einzelne Dateien zu sichern.
$ restic -r ~/mybackup backup ~/mydata/vi\ editor.pdf
Beispielausgabe:
enter password for repository: repository c1c5bcfd opened successfully, password is correct no parent snapshot found, will read all files Files: 1 new, 0 changed, 0 unmodified Dirs: 3 new, 0 changed, 0 unmodified Added to the repo: 47.129 KiB processed 1 files, 45.139 KiB in 0:00 snapshot 59439d78 saved
Wie Sie sehen, wird im Repository ein neuer Snapshot namens 59439d78 erstellt.
Snapshots auflisten
Um die verfügbaren Snapshots in einem lokalen Repository aufzulisten, führen Sie Folgendes aus:
$ restic -r ~/mybackup snapshots
Beispielausgabe:
enter password for repository: repository c1c5bcfd opened successfully, password is correct ID Time Host Tags Paths ---------------------------------------------------------------------- 7457d80e 2021-08-13 12:51:58 ostechnix /home/sk/mydata 963d4de3 2021-08-13 12:57:55 ostechnix /home/sk/mydata ---------------------------------------------------------------------- 2 snapshots
Wie Sie sehen, habe ich 2 Snapshots, nämlich 7457d80e und 963d4de3 .
Überprüfen Sie den Unterschied zwischen zwei Schnappschüssen
Um den Unterschied zwischen zwei Snapshots zu überprüfen, können wir diff verwenden Option wie unten:
$ restic -r ~/mybackup diff 7457d80e 963d4de3
Dieser Befehl vergleicht die angegebenen zwei Snapshots und listet die Unterschiede auf, d. h. welche Dateien hinzugefügt, wie viele Dateien und Verzeichnisse aus dem Repository entfernt wurden.
enter password for repository: repository c1c5bcfd opened successfully, password is correct comparing snapshot 7457d80e to 963d4de3: + /home/sk/mydata/vi editor.pdf Files: 1 new, 0 removed, 0 changed Dirs: 0 new, 0 removed Others: 0 new, 0 removed Data Blobs: 1 new, 0 removed Tree Blobs: 4 new, 4 removed Added: 50.123 KiB Removed: 4.511 KiB
Wie Sie sehen, habe ich der Sicherung eine neue PDF-Datei hinzugefügt.
Dateien und Ordner ausschließen
Es ist auch möglich, einige Dateien oder Verzeichnisse auszuschließen. Beispielsweise schließt der folgende Befehl alle .doc aus Typ Dateien:
$ restic -r ~/mybackup backup --exclude=*.doc ~/mydata
Alternativ können Sie den tatsächlichen Speicherort aller Dateien und Ordner, die Sie von der Sicherung ausschließen möchten, in einer Datei ablegen und deren Pfad im Sicherungsbefehl angeben.
Erstellen Sie beispielsweise eine Datei mit dem Namen exclude :
$ vi exclude.txt
Fügen Sie die Dateien oder Ordner hinzu, die Sie ausschließen möchten:
*.txt ostechnix.zip mydata/movies
Starten Sie nun den Sicherungsvorgang mit dem Befehl:
$ restic -r ~/backup backup --exclude-file=exclude.txt ~/mydata
Weitere Einzelheiten zu restic backup
Befehl, führen Sie bitte aus:
$ restic help backup
Jetzt haben wir unsere Daten erfolgreich gesichert. Als nächstes werden wir sehen, wie die Daten aus der lokalen Sicherung wiederhergestellt werden.
Daten mit Restic wiederherstellen
Das Wiederherstellen von Daten ist einfach!
Listen Sie zuerst die verfügbaren Snapshots aus dem Repository mit dem Befehl auf:
$ restic -r ~/mybackup snapshots
Um die Daten aus einem bestimmten Snapshot wiederherzustellen, zum Beispiel 7457d80e
, ausführen:
$ restic -r ~/mybackup restore 7457d80e --target ~/mydata
Beispielausgabe:
enter password for repository: repository c1c5bcfd opened successfully, password is correct restoring <Snapshot 7457d80e of [/home/sk/mydata] at 2021-08-13 12:51:58.592771333 +0530 IST by [email protected]> to /home/sk/mydata
Wir haben gerade die Daten aus dem Snapshot 7457d80e wiederhergestellt nach ~/mydata Verzeichnis.
Um eine einzelne Datei aus dem Snapshot wiederherzustellen, gehen wir wie folgt vor:
$ restic -r ~/mybackup restore 7457d80e --target ~/mydata file.json
Weitere Einzelheiten finden Sie unter restore
Befehlshilfeabschnitt.
$ restic help restore
Repository bereitstellen, um Sicherungsdaten anzuzeigen
Sie können das Backup als normales Dateisystem durchsuchen. Dies ist praktisch, wenn Sie den Inhalt des Repositorys anzeigen möchten.
Erstellen Sie zuerst einen Einhängepunkt:
$ mkdir ostechnix
Mounten Sie dann Ihr Repository auf ostechnix Einhängepunkt wie unten gezeigt.
$ restic -r ~/mybackup mount ostechnix/
Dieser Befehl wird das Restic-Repository in Ihrem lokalen Dateisystem einhängen.
enter password for repository: repository c1c5bcfd opened successfully, password is correct Now serving the repository at ostechnix/ When finished, quit with Ctrl-c or umount the mountpoint.
Öffnen Sie nun Ihren Dateimanager und Sie werden sehen, dass Ihr Repository dort gemountet ist. Gehen Sie zum Snapshots-Ordner und überprüfen Sie die Daten.
Wenn Sie fertig sind, drücken Sie Ctrl-c
um den Einhängepunkt im Dateimanager zu beenden oder auszuhängen.
Weitere Einzelheiten finden Sie im Hilfebereich:
$ restic help mount
Snapshots entfernen
Listen Sie zunächst alle verfügbaren Snapshots in einem Repository auf:
$ restic -r ~/mybackup snapshots enter password for repository: repository c1c5bcfd opened successfully, password is correct ID Time Host Tags Paths ---------------------------------------------------------------------- 7457d80e 2021-08-13 12:51:58 ostechnix /home/sk/mydata 963d4de3 2021-08-13 12:57:55 ostechnix /home/sk/mydata ---------------------------------------------------------------------- 2 snapshots
Um einen Snapshot zu löschen, zum Beispiel 963d4de3 , ausführen:
$ restic -r ~/mybackup forget 963d4de3
Beispielausgabe:
enter password for repository: repository c1c5bcfd opened successfully, password is correct [0:00] 100.00% 1 / 1 files deleted
Überprüfen Sie, ob der Schnappschuss gelöscht wurde oder nicht:
$ restic -r ~/mybackup snapshots enter password for repository: repository c1c5bcfd opened successfully, password is correct ID Time Host Tags Paths ---------------------------------------------------------------------- 7457d80e 2021-08-13 12:51:58 ostechnix /home/sk/mydata ---------------------------------------------------------------------- 1 snapshots
Der Schnappschuss ist weg! Die Daten, auf die von Dateien in diesem Snapshot verwiesen wurde, werden jedoch weiterhin im Repository gespeichert.
Um nicht referenzierte Daten zu bereinigen, führen Sie Folgendes aus:
$ restic -r ~/mybackup prune
Beispielausgabe:
enter password for repository: repository c1c5bcfd opened successfully, password is correct loading indexes... loading all snapshots... finding data that is still in use for 1 snapshots [0:00] 100.00% 1 / 1 snapshots searching used packs... collecting packs for deletion and repacking [0:00] 100.00% 8 / 8 packs processed to repack: 0 blobs / 0 B this removes 0 blobs / 0 B to delete: 5 blobs / 50.279 KiB total prune: 5 blobs / 50.279 KiB remaining: 25 blobs / 21.919 MiB unused size after prune: 0 B (0.00% of remaining size) rebuilding index [0:00] 100.00% 6 / 6 packs processed deleting obsolete index files [0:00] 100.00% 3 / 3 files deleted removing 2 old packs [0:00] 100.00% 2 / 2 files deleted done
Nachdem Sie alle Snapshots und die zugehörigen Daten entfernt haben, können Sie das Repository löschen.
$ rm -fr ~/mybackup/
Schlussfolgerung
Sie wissen jetzt, wie Sie das Restic-Sicherungsprogramm installieren und verwenden, um Ihre wichtigen Daten zu schützen. Wir haben nur behandelt, wie Sie Dateien und Ordner mit Restic in ein lokales Verzeichnis sichern. Es gibt mehr! In unseren kommenden Anleitungen werden wir sehen, wie man Daten auf einem Remote-System und einem Cloud-Speicher sichert.
Ich empfehle Ihnen auch, die offizielle Restic-Dokumentation zu lesen für eine detailliertere Verwendung.