Sichern und Wiederherstellen von Daten mit Restic unter Linux
In dieser Anleitung wird erklärt, was Restic ist, wie man Restic in verschiedenen Linux-Distributionen installiert und schließlich, wie man mit Restic Daten in Linux-Betriebssystemen sichert und wiederherstellt.
Restic - Eine schnelle, sichere und effiziente Backup-Anwendung
Restic ist ein schnelles, quelloffenes, sicheres und plattformübergreifendes Backup-Programm. Es ermöglicht das Speichern mehrerer Revisionen von Dateien und Verzeichnissen in einem verschlüsselten Repository, das auf verschiedenen Backends gespeichert ist.
Restic nutzt Kryptografie, um die Vertraulichkeit und Integrität Ihrer Daten zu gewährleisten. Es verschlüsselt die Daten mit AES-256 im Zählermodus und authentifiziert sie mit Poly1305-AES kryptografischem Nachrichtenauthentifizierungscode.
Das Sichern und Wiederherstellen von Daten mit Restic ist einfach und sehr schnell! Es überträgt nur die geänderten Dateien (inkrementelle Sicherung), genau wie Rsync.
Mit Restic können wir problemlos Dateien und Verzeichnisse auf einer lokalen Festplatte, 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 ist in der Programmiersprache Go geschrieben und sein Quellcode ist auf GitHub frei verfügbar. Es handelt sich um eine plattformübergreifende Backup-Anwendung. Es unterstützt GNU/Linux, macOS, FreeBSD, openBSD und Microsoft Windows.
Installieren Sie Restic unter Linux
Restic ist für gängige Linux-Betriebssysteme verpackt.
Restic unter Alpine Linux installieren:
sudo apk add resticInstallieren Sie Restic unter Arch Linux, EndeavourOS, Manjaro Linux:
Restic ist in den Standard-Repositorys von Arch Linux verfügbar. Stellen Sie sicher, dass das [Community]-Repository aktiviert ist und installieren Sie Restic in Arch Linux und seinen Varianten wie EndeavourOS, Manjaro Linux mit Pacman, wie unten gezeigt.
sudo pacman -S resticRestic von AUR installieren:
Restic ist auch in AUR erhältlich. Sie können es also mit beliebigen AUR-Helfern wie Paru oder Yay in Arch-basierten Systemen installieren.
paru -S restic-gitOder,
yay -S restic-gitInstallieren Sie Restic in Debian, Ubuntu, Linux Mint, Pop_OS!:
sudo apt-get install resticRestic in Fedora installieren:
sudo dnf install restic
Installieren Sie Restic in RHEL, CentOS, AlmaLinux und Rocky Linux:
sudo dnf copr enable copart/resticsudo dnf install resticRestic in Solus installieren:
sudo eopkg install resticRestic unter Nix OS installieren:
nix-env --install resticRestic in openSUSE installieren:
sudo zypper install resticResic mit Linuxbrew installieren:
brew install resticRestic von der Quelle installieren:
Für andere Betriebssysteme können Sie es wie unten beschrieben kompilieren und installieren. Stellen Sie zunächst sicher, dass Sie die Sprache Go auf Ihrem System installiert haben.
- So installieren Sie Go Language unter Linux
Sobald Go installiert ist, git clone restic github repository:
git clone https://github.com/restic/resticDieser 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/amd64Restic aktualisieren
Wenn Sie Restic aus offiziellen Repositories installiert haben, handelt es sich möglicherweise um eine etwas alte Version.
Um Restic auf die neueste Version zu aktualisieren, führen Sie Folgendes aus:
sudo restic self-updateÜberprüfen Sie nun die Version mit dem folgenden Befehl:
$ restic version
restic 0.12.1 compiled with go1.16.6 on linux/amd64Sichern und Wiederherstellen von Daten mit Restic unter 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.
Sehen wir uns nun an, wie man Daten in einem lokalen Verzeichnis sichert und wiederherstellt.
Erstellen Sie ein neues lokales Repository
Lassen Sie uns zunächst ein Repository zum Speichern des Backups erstellen. Ich werde beispielsweise ein Repository mit dem Namen mybackup in meinem $HOME-Verzeichnis erstellen.
restic init --repo ~/mybackupGeben 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 gehen die im Repository gespeicherten Daten dauerhaft verloren. Du wurdest 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.Erstellen Sie mit Restic ein lokales Repository
Wie Sie in der obigen Ausgabe sehen können, wird ein lokales Restic-Repository mit der ID c1c5bcfdb8 unter /home/sk/mybackup erstellt. Standort.
Jetzt ist es an der Zeit, Ihre Daten im neu erstellten Repository zu sichern.
Sichern Sie Daten mit Restic im lokalen Verzeichnis
Ich werde das gesamte Verzeichnis ~/mydata (einschließlich des Verzeichnisses selbst) im Repository ~/mybackup sichern mit Befehl:
restic -r ~/mybackup backup ~/mydataGeben 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 savedSichern Sie ein Verzeichnis mit Restic im lokalen Repository
Wie Sie sehen können, hat restic das Backup des angegebenen Verzeichnisses erstellt, d. h. mydata. Zusätzlich habe ich einen Snapshot des aktuellen Backups mit einem 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 dem Sicherungsverzeichnis weitere Dateien/Ordner hinzu. Ich habe zum Beispiel eine neue Datei mit dem Namen vi editor.pdf im Verzeichnis ~/mydata hinzugefügt. 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 savedFügen Sie mit Restic neue Daten zum Repository hinzu
Restic erstellt bei jeder Ausführung neue Snapshots mit eindeutigen Namen.
Da Restic inkrementelle Backups durchführt, sind die nachfolgenden Backups deutlich schneller als die vorherigen Backups. Wir können die Daten weiterhin im Sicherungsordner hinzufügen und die Sicherung ausführen, um viele Snapshots zu erstellen.
Mit Restic können wir nicht nur die Verzeichnisse, sondern auch einzelne Dateien 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 savedWie Sie sehen, wird im Repository ein neuer Snapshot mit dem Namen 59439d78 erstellt.
Schnappschüsse auflisten
Führen Sie Folgendes aus, um die verfügbaren Snapshots in einem lokalen Repository aufzulisten:
restic -r ~/mybackup snapshotsBeispielausgabe:
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 snapshotsSchnappschüsse auflisten
Wie Sie sehen, habe ich zwei Schnappschüsse, 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 die Option diff wie folgt verwenden:
restic -r ~/mybackup diff 7457d80e 963d4de3Dieser Befehl vergleicht die beiden angegebenen Snapshots und listet die Unterschiede auf, d. h. welche Dateien hinzugefügt werden, wie viele Dateien und Verzeichnisse aus dem Repository entfernt werden.
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Überprüfen Sie den Unterschied zwischen zwei Schnappschüssen
Wie Sie sehen, habe ich im Backup eine neue PDF-Datei hinzugefügt.
Schließen Sie Dateien und Ordner aus
Es ist auch möglich, einige Dateien oder Verzeichnisse auszuschließen. Der folgende Befehl schließt beispielsweise alle Dateien vom Typ .doc aus:
restic -r ~/mybackup backup --exclude=*.doc ~/mydataAlternativ können Sie den tatsächlichen Speicherort aller Dateien und Ordner, die Sie von der Sicherung ausschließen möchten, in einer Datei angeben und deren Pfad im Sicherungsbefehl angeben.
Erstellen Sie beispielsweise eine Datei mit dem Namen exclude:
vi exclude.txtFügen Sie die Dateien oder Ordner hinzu, die Sie ausschließen möchten:
*.txt
ostechnix.zip
mydata/moviesStarten Sie nun den Sicherungsvorgang mit dem folgenden Befehl:
restic -r ~/backup backup --exclude-file=exclude.txt ~/mydataFür weitere Details zum Befehl restic backup führen Sie bitte Folgendes aus:
restic help backupJetzt haben wir unsere Daten erfolgreich gesichert. Als Nächstes erfahren Sie, wie Sie die Daten aus der lokalen Sicherung wiederherstellen.
Daten mit Restic wiederherstellen
Das Wiederherstellen von Daten ist einfach!
Listen Sie zunächst die verfügbaren Snapshots aus dem Repository mit dem folgenden Befehl auf:
restic -r ~/mybackup snapshotsBeispielausgabe:
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 snapshotsWie Sie in der obigen Ausgabe sehen können, habe ich zwei Schnappschüsse.
Um die Daten aus einem bestimmten Snapshot wiederherzustellen, zum Beispiel 7457d80e, führen Sie Folgendes aus:
restic -r ~/mybackup restore 7457d80e --target ~/mydataBeispielausgabe:
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 sk@ostechnix> to /home/sk/mydataDaten mit Restic wiederherstellen
Wir haben gerade die Daten aus dem Snapshot 7457d80e im Verzeichnis ~/mydata wiederhergestellt.
Um eine einzelne Datei aus dem Snapshot wiederherzustellen, gehen wir wie folgt vor:
restic -r ~/mybackup restore 7457d80e --target ~/mydata file.jsonWeitere Informationen finden Sie im Hilfeabschnitt zum Befehl restore.
restic help restoreMounten Sie das Repository, 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 zunächst einen Mount-Punkt:
mkdir ostechnixHängen Sie dann Ihr Repository wie unten gezeigt am Mountpunkt ostechnix ein.
restic -r ~/mybackup mount ostechnix/Dieser Befehl mountet das Restic-Repository in Ihrem lokalen Dateisystem.
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 Ordner „Snapshots“ und überprüfen Sie die Daten.
Mounten Sie das Restic-Repository im Dateisystem
Wenn Sie fertig sind, drücken Sie Strg-c, um den Mountpoint über den Dateimanager zu beenden oder neu bereitzustellen.
Weitere Informationen finden Sie im Hilfebereich:
restic help mountSchnappschüsse 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 snapshotsUm einen Snapshot zu löschen, zum Beispiel 963d4de3, führen Sie Folgendes aus:
restic -r ~/mybackup forget 963d4de3Beispielausgabe:
enter password for repository:
repository c1c5bcfd opened successfully, password is correct
[0:00] 100.00% 1 / 1 files deletedÜberprüfen Sie, ob der Snapshot 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 snapshotsSnapshots mit Restic entfernen
Der Schnappschuss ist weg! Die Daten, auf die in diesem Snapshot von den Dateien verwiesen wurde, werden jedoch weiterhin im Repository gespeichert.
Führen Sie Folgendes aus, um nicht referenzierte Daten zu bereinigen:
restic -r ~/mybackup pruneBeispielausgabe:
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
doneNachdem Sie alle Snapshots und die zugehörigen Daten entfernt haben, können Sie das Repository löschen.
rm -fr ~/mybackup/Abschluss
Sie wissen jetzt, wie Sie das Restic-Sicherungsprogramm installieren und verwenden, um Ihre wichtigen Daten zu schützen. Wir haben nur erläutert, wie Sie mit Restic Dateien und Ordner in einem lokalen Verzeichnis sichern. Es gibt mehr! In unseren kommenden Anleitungen erfahren Sie, wie Sie Daten auf einem Remote-System und einem Cloud-Speicher sichern.
Ich empfehle Ihnen außerdem, die offizielle Restic-Dokumentation für eine detailliertere Verwendung zu lesen.
Ressourcen:
- Restic-Website
- Restic GitHub Repository
Verwandte Lektüre:
- So sichern Sie Ihr gesamtes Linux-System mit Rsync
- So sichern Sie Dateien und Verzeichnisse mit Rsync unter Linux
- So sichern und wiederherstellen Sie Dateien mit Deja Dup unter Linux
- So richten Sie einen Sicherungsserver mit Rsnapshot ein
- So sichern und wiederherstellen Sie ein Linux-System mit Timeshift
- So synchronisieren Sie Dateien mit Unison unter Linux
- So synchronisieren Sie lokale und Remote-Verzeichnisse unter Linux
- So synchronisieren Sie Dateien und Verzeichnisse mit Zaloha.sh
- CYA - System-Snapshot- und Wiederherstellungsdienstprogramm für Linux







