Verhindern Sie Datenverluste, indem Sie Ihre wichtigen Informationen über die Linux-Kommandozeile sichern. Wir nutzen dazu den Befehl `rsync` und haben zusätzlich einige hilfreiche grafische Oberflächen entdeckt.
Es gibt zahlreiche Methoden, um eine Sicherungskopie Ihrer Daten zu erstellen. Unser Ziel ist es, Ihnen eine solide, vielseitige und verlässliche Vorgehensweise zum Schutz Ihrer Daten aufzuzeigen. Wir haben uns für `rsync` entschieden, da dieser Befehl auf bewährten Algorithmen basiert, die die Unterschiede zwischen Dateien im Quell- und Zielverzeichnis ermitteln. Es werden lediglich die Differenzen zwischen zwei Dateiversionen übertragen, anstatt der gesamten Datei, wenn dies vermeidbar ist.
In Kombination mit seiner bewährten Leistung bei Dateikopien und Verzeichnissynchronisationen seit Mitte der 1990er Jahre ist `rsync` eine ausgezeichnete Wahl für Backups über die Linux-Kommandozeile.
Zudem gibt es eigenständige Software, die als Frontend für `rsync` fungiert. Diese Programme bieten grafische Benutzeroberflächen (GUIs) für `rsync`, die für manche Benutzer einfacher zu bedienen sind.
Je einfacher und schneller die Erstellung eines Backups ist, desto wahrscheinlicher ist es, dass es auch durchgeführt wird.
Rsync mit externer Festplatte nutzen
Um Ihre Daten auf einer externen Festplatte zu sichern, muss diese verbunden und für Sie zugänglich sein. Wenn Sie darauf schreiben können, ist dies auch für `rsync` möglich. In unserem Beispiel wird eine externe USB-Festplatte mit der Bezeichnung SILVERXHD (für „Silver eXternal Hard Drive“) an den Linux-Rechner angeschlossen und automatisch vom Betriebssystem gemountet.
Es ist wichtig, den Pfad zum Laufwerk zu kennen. Öffnen Sie in GNOME den Dateimanager Nautilus und suchen Sie den Namen des Laufwerks in der Seitenleiste.
Wenn Sie mit dem Mauszeiger über den Namen des externen Laufwerks fahren, wird Ihnen in einem Tooltip der Pfad zum Laufwerk angezeigt.
In diesem Fall zeigt der Tooltip, dass der Mountpunkt für das Dateisystem der externen Festplatte `/media/dave/SILVERXHD` lautet.
Falls Ihr Dateimanager dies nicht unterstützt, navigieren Sie zum externen Laufwerk und öffnen Sie ein Terminalfenster an diesem Ort. Verwenden Sie den Befehl `pwd`, um den Pfad zum Terminalfenster auszugeben.
Kopieren von Inhalten aus dem Quellverzeichnis
Verwenden Sie den folgenden Befehl, um den Inhalt eines Verzeichnisses mit `rsync` in Ihr Backup-Ziel zu kopieren.
Die Option `-r` (rekursiv) sorgt dafür, dass `rsync` alle verschachtelten Unterverzeichnisse und deren Inhalte kopiert. Beachten Sie, dass am Ende von `SILVERXHD` ein Schrägstrich `/` steht, der im Screenshot in die nächste Zeile umgebrochen ist.
rsync -r /home/dave/Documents/ /media/dave/SILVERXHD/
Der Dateikopiervorgang wird durchgeführt, und Sie kehren zur Eingabeaufforderung der Kommandozeile zurück.
Bei Betrachtung des externen USB-Laufwerks sehen wir, dass die Verzeichnisse, die sich im Verzeichnis „Dokumente“ befinden, in das Hauptverzeichnis des externen Laufwerks kopiert wurden.
ls
Kopieren des Quellverzeichnisses mit Inhalt
Um das Verzeichnis „Dokumente“ samt Inhalt auf das externe Laufwerk zu kopieren, entfernen Sie den `/` am Ende von `/home/dave/Documents` im Befehl wie folgt:
rsync -r /home/dave/Documents /media/dave/SILVERXHD/
Um Verwirrung zu vermeiden, habe ich die zuvor kopierten Verzeichnisse vom externen Laufwerk entfernt, bevor dieser zweite Befehl ausgeführt wurde.
Nach Abschluss der zweiten Kopie zeigt ein Blick auf das externe Laufwerk, dass das Verzeichnis „Dokumente“ kopiert wurde. Der Inhalt befindet sich nun innerhalb dieses Verzeichnisses und nicht mehr im Hauptverzeichnis des externen Laufwerks.
Kopieren in ein bestimmtes Zielverzeichnis
Um in ein bestimmtes Verzeichnis auf dem Ziellaufwerk zu kopieren, fügen Sie den Namen des Verzeichnisses dem Zielpfad hinzu. Nehmen wir an, wir möchten den Inhalt des Verzeichnisses `/home/dave/Documents` in ein Verzeichnis namens `backups` auf dem externen Laufwerk kopieren.
Dies erreichen wir mit folgendem Befehl:
rsync -r /home/dave/Documents/ /media/dave/SILVERXHD/backups/
Ein Blick auf das externe Laufwerk zeigt, dass das Verzeichnis `backups` erstellt wurde und sich in diesem Verzeichnis der Inhalt des Verzeichnisses `/home/dave/Documents` befindet.
ls
ls backups
Beibehalten von Dateieigentum und Berechtigungen
Verwenden Sie die Option `-a` (Archiv), um Dateiattribute wie Änderungsdatum, Dateibesitz, Zugriffsberechtigungen und mehr für kopierte Dateien, symbolische Links und spezielle Blockdateien beizubehalten.
rsync -ra /home/dave/Documents/ /media/dave/SILVERXHD/backups/
Verwenden des ausführlichen Modus
Die Option `-v` (verbose) bewirkt, dass `rsync` die Dateien während des Kopiervorgangs auflistet.
rsync -rav /home/dave/Documents/ /media/dave/SILVERXHD/backups/
Nach Abschluss des Kopiervorgangs wird eine Zusammenfassung der Sicherung angezeigt.
Gesendet: Die an das Ziel übertragenen Bytes.
Empfangen: Die vom Host empfangenen Bytes.
Bytes/sec: ist die tatsächliche Übertragungsrate.
Gesamtgröße: Gibt die Größe der Daten an, die gesendet worden wären, wenn Sie `rsync` nicht verwendet hätten. Bei wiederholten Ausführungen von `rsync` werden nur die Unterschiede in den Dateien übertragen. Diese Zahl stellt die nicht zu übertragenden Daten dar.
Speedup: Dies ist das Verhältnis zwischen der tatsächlich zu sendenden Datenmenge und der gesamten verfügbaren Datenmenge. Wenn `rsync` alle Dateien vollständig kopieren muss (z.B. bei der ersten Ausführung), beträgt die Beschleunigung 1,0. Bei nachfolgenden Ausführungen optimiert `rsync` die Übertragungen und sendet nur die Unterschiede zwischen den Dateien, während unveränderte Dateien ignoriert werden. Die Beschleunigungszahl stellt das Verhältnis zwischen der zu übertragenden Datenmenge und der Gesamtgröße der Dateien dar.
Verwenden der Fortschrittsanzeige
Die Option `-P` (Fortschritt) bewirkt, dass `rsync` nach dem Kopieren jeder Datei einen kurzen Fortschrittsbericht generiert.
rsync -raP /home/dave/Documents/ /media/dave/SILVERXHD/backups/
Die angezeigten Informationen können zwischen den kopierten Dateien eingesehen werden.
Die bereitgestellten Informationen sind:
Bytegröße: Für diese Datei übertragene Daten.
Prozentsatz: Prozentsatz der übertragenen Datei.
B/s: Datenübertragungsrate.
Verbleibende Zeit: Geschätzte verbleibende Übertragungszeit für diese Datei.
xfr#: Die Anzahl der bisher übertragenen Dateien.
to-chk: Die Anzahl der Dateien, die noch von den Optimierungsalgorithmen überprüft und verifiziert werden müssen.
Geschwindigkeit erhöhen
Um Übertragungen zu beschleunigen, verwenden Sie die Option `-z` (Komprimierung). Dadurch wird die Datei während der Übertragung komprimiert, jedoch unkomprimiert im Zielverzeichnis abgelegt.
Bei Übertragungen mit vielen kleinen Dateien bietet die Komprimierungsoption keine wesentlichen Vorteile. Bei Sammlungen großer Dateien kann sie die Übertragungszeit jedoch deutlich reduzieren.
Wir verwenden hier auch die Option `–partial`. `rsync` löscht teilweise übertragene Dateien, die durch Netzwerkstörungen oder andere Unterbrechungen verursacht wurden. Die Option `–partial` zwingt `rsync`, diese unvollständigen Dateien auf dem Ziel zu belassen. Beim nächsten Durchlauf von `rsync` müssen die Teile dieser unvollständig übertragenen Dateien nicht erneut übertragen werden.
Beachten Sie, dass diese Option nicht empfehlenswert ist, wenn die Gefahr besteht, dass unvollständige Dateien mit vollständig übertragenen Dateien verwechselt werden.
rsync -ravz --partial /home/dave/Documents/ /media/dave/SILVERXHD/backups/
In unserem Beispiel sind die Vorteile marginal.
Das Beschleunigungsverhältnis hat sich um zwei Hundertstel Prozent verbessert! In einem realen Szenario werden Ihre Geschwindigkeitsverbesserungen beeindruckender sein.
Rsync über ein Netzwerk nutzen
Bisher haben wir uns auf ein externes USB-Laufwerk konzentriert. Um einen Netzwerkspeicherort als Ziel für die Sicherung zu nutzen, verwenden Sie den Pfad zu diesem Speicherort in der Befehlszeile. In dem Netzwerk, in dem dieser Artikel geschrieben wurde, befindet sich ein Network Attached Storage (NAS)-Gerät.
Wir können den gleichen Trick wie zuvor verwenden, um den Pfad zum NAS zu ermitteln, indem wir mit der Maus über die Verbindung zu diesem Gerät in Nautilus fahren.
Es gibt keine besonderen Optionen für die Sicherung über ein Netzwerk. Wir verwenden lediglich die Optionen, die wir zuvor bereits genutzt haben.
rsync -ravz --partial /home/dave/Documents/ /media/dave/NAS/dave/backups/
Es gibt keinen Unterschied im Ausgabeformat.
Wie erwartet, gibt es eine deutliche Verbesserung der Bytes/Sek-Zahl.
Wenn wir `rsync` erneut ausführen, sehen wir, dass keine Dateien übertragen werden müssen, da keine Änderungen vorgenommen wurden. Dennoch werden einige Bytes hin und her übertragen. Dies ist die Datenmenge, die übertragen werden muss, um die Dateiliste auf dem Ziel mit der auf der Quelle zu vergleichen.
Das Beschleunigungsverhältnis ist in diesem Fall um eine Größenordnung besser. In der Praxis werden Ihre Leistungsverhältnisse irgendwo zwischen unseren beiden pseudo-künstlichen Werten liegen.
Rsync über SSH nutzen
`rsync` unterstützt auch die Sicherung über eine SSH-Verbindung. Hierfür müssen wir den Namen des Benutzerkontos und den SSH-Speicherort in der Befehlszeile angeben. Wir verwenden hier einen Netzwerknamen, aber Sie können auch eine IP-Adresse nutzen.
Beachten Sie den Doppelpunkt `:` zwischen den SSH-Verbindungsdetails und dem Beginn des Netzwerkpfads auf dem Remote-Ziel.
rsync -ravz --partial /home/dave/Documents/ [email protected]:/home/dave/Backups/
Sie werden nach dem Passwort des Benutzerkontos auf dem Remote-Rechner gefragt. Dies ist nicht Ihr Passwort auf dem Quellcomputer.
Die Sicherung wird wie gewohnt durchgeführt. Der Durchsatz ist aufgrund der Verschlüsselung und Entschlüsselung der sicheren Shell-Verbindung nicht so schnell wie bei einer normalen Netzwerkverbindung.
Automatisieren Ihrer Backups
Wir können automatisierte Backups ganz einfach einrichten, indem wir Einträge zu Ihrer crontab-Datei hinzufügen.
crontab -e
Wir richten ein automatisches Backup ein, das täglich um 04:30 Uhr ausgeführt wird (vorausgesetzt, der Computer ist zu dieser Zeit eingeschaltet). Die Syntax für den `rsync`-Befehl ändert sich dabei nicht.
Mit Strg+O schreiben Sie Ihre Änderungen in die Datei, und mit Strg+X schließen Sie den Nano-Editor.
Rsync mit einer benutzerfreundlichen Oberfläche
Für Anwender, die weniger mit der Kommandozeile vertraut sind, gibt es eine Reihe von Programmen, die eine grafische Benutzeroberfläche (GUI) für `rsync` bereitstellen. Zwei gute Beispiele sind luckyBackup und Grsync. Beide Programme ermöglichen es, viele `rsync`-Optionen über die Oberfläche auszuwählen.
Das Programm Grsync konzentriert sich auf die Rolle eines visuellen Wrappers für `rsync`. Es bietet einfachen Zugriff auf die `rsync`-Optionen und fügt nur wenige neue Funktionen hinzu.
Einer der Einstellungsdialoge von Grsync.
Das Programm luckyBackup ist weit mehr als ein einfacher Wrapper für `rsync`. Es ist ein Backup-Programm, das `rsync` im Hintergrund verwendet. luckyBackup kann zum Beispiel mehrere „Snapshots“ Ihrer Backups erstellen. Sie können dann zu den Dateiversionen in jedem der Snapshots „zurückkehren“.
Einer der Einstellungsdialoge von luckyBackup.
Installation von Grsync
Um Grsync unter Ubuntu zu installieren, verwenden Sie diesen Befehl:
sudo apt-get install grsync
Um Grsync unter Fedora zu installieren, verwenden Sie diesen Befehl:
sudo dnf install grsync
Um Grsync unter Manjaro zu installieren, verwenden Sie diesen Befehl:
sudo pacman -Syu grsync
Installation von luckyBackup
Um luckyBackup unter Ubuntu zu installieren, verwenden Sie den folgenden Befehl:
sudo apt-get install luckybackup
Um luckyBackup unter Fedora zu installieren, verwenden Sie den folgenden Befehl:
sudo dnf install luckybackup
In Manjaro müssen Sie luckyBackup aus dem Arch User Repository (AUR) installieren. Dies können Sie mit dem Pamac-Paketmanager tun.
Gehen Sie kein Risiko ein – Sichern Sie Ihre Daten regelmäßig
Backups sind von größter Bedeutung. Sichern Sie häufig, an vielen Orten und auf unterschiedlichen Medien. Sobald es eingerichtet ist, kann `rsync` all dies für Sie erledigen.