Oct. 30, 2020

Wie man rsync für Backups verwendet

Erläuterung eines leistungsstarken Dateiübertragungstools

Es ist sehr wichtig, Backups Ihrer Daten zu erstellen, da man nie weiß, wann eine Katastrophe eintritt! Ein leistungsstarkes, plattformübergreifendes Tool, das Ihnen dabei hilft, ist „rsync“. In diesem Beitrag erkläre ich, warum rsync nützlich ist und wie Sie damit Ihre eigenen Backups einrichten können.

Rsync

Seit seiner Entstehung im Jahr 1996 (durch Andrew Tridgell und Paul Mackerras) hat sich rsync zu einem Standard-Dienstprogramm entwickelt, das auf gängigen GNU/Linux-Distributionen, Apple macOS, FreeBSD, NetBSD, OpenBSD und (über Cygwin oder WSL) auf Windows verfügbar ist.

Hauptmerkmale

Rsync wird typischerweise zur Synchronisierung von Dateien und Verzeichnissen zwischen zwei verschiedenen Computern verwendet. Es kann SSH verwenden, um sich mit einem anderen Computer zu verbinden und Dateien zu übertragen. Zusätzlich zu entfernten Computern können Sie rsync verwenden, um mit externen Festplatten und Netzwerkspeichern (NAS) zu synchronisieren. Rsync ist beliebt, weil:

Installation von rsync

Wenn Sie GNU/Linux, *BSD oder Apple macOS verwenden, ist rsync wahrscheinlich bereits installiert. Wenn Sie Windows verwenden, können Sie sich das Windows-Subsystem für Linux oder WSL ansehen, um Zugriff auf alle Standard-GNU/Linux-Tools zu erhalten. Alternativ zu WSL können Sie Cygwin verwenden, um die große Sammlung von GNU- und Open-Source-Tools unter Windows zu installieren.

Typische Verwendung von rsync

Die Verwendung von rsync erfolgt über die Befehlszeile oder das Terminal. Sie führen den Befehl 'rsync' gefolgt von (optionalen) Flags, einem Quellpfad und einem Zielpfad aus.

Typischer rsync-Befehl mit den Flags -arvz, einem Mein-Quellverzeichnis und Mein-Zielverzeichnis auf einem Server
Typischer rsync-Befehl mit den Flags -arvz, einem Mein-Quellverzeichnis und Mein-Zielverzeichnis auf einem Server

Mit den Flags -arvz konfigurieren Sie rsync so:

Es gibt viele weitere Flags und Optionen, mit denen Sie das Verhalten von rsync an Ihre Bedürfnisse anpassen können. Sie sollten sich die Manpage für rsync ansehen, um eine vollständige Liste aller Optionen zu erhalten.

Wie man rsync zum Sichern von Dateien verwendet

Im folgenden Beispiel verwende ich rsync, um ein Verzeichnis ("Sample-Files") auf meinem Windows 10-Desktop auf einen Remote-Server zu kopieren. Ich verwende WSL unter Windows, um eine funktionierende Debian_GNU/Linux-Umgebung in meinem Windows-Terminal zu haben.

Verwendung von rsync unter Windows 10 mit WSL
Verwendung von rsync unter Windows 10 mit WSL

Lassen Sie mich den Befehl erklären, den ich verwende:

Wenn Sie diesen Befehl zum ersten Mal ausführen, wird der kryptografische Fingerabdruck des Remote-Servers angezeigt. Dies dient dazu, sicherzustellen, dass Sie mit Ihrem Server sprechen. Dies verhindert, dass Hacker Ihren Server imitieren, ohne dass Sie es bemerken (da der Fingerabdruck für Ihren Server eindeutig ist). Wenn rsync eine Änderung dieses Fingerabdrucks feststellt, verweigert es die Übertragung von Dateien. Dies ist entscheidend, da das Kopieren Ihrer Backups an ein zufälliges entferntes Ziel ein potenzielles Risiko für Datenlecks darstellen würde!

Sie werden nach Ihrem Passwort gefragt, wenn Sie sich über SSH ohne schlüsselbasierte Authentifizierung verbinden. Dies ist in Ordnung, wenn Sie Ihre Dateiübertragung manuell durchführen möchten, aber wenn Sie die Übertragungen automatisieren möchten, sollten Sie eine schlüsselbasierte Authentifizierung einrichten (mit dem praktischen Befehl "ssh-copy-id"). Ihr Computer kann sich dann sicher beim Remote-Rechner anmelden, ohne dass Sie ein Passwort manuell eingeben müssen.

Verwendung von rsync zum Kopieren von Dateien von meinem Windows 10-Desktop auf einen Debian GNU/Linux-Server über SSH (mit WSL)
Verwendung von rsync zum Kopieren von Dateien von meinem Windows 10-Desktop auf einen Debian GNU/Linux-Server über SSH (mit WSL)

Wenn rsync erfolgreich eine Verbindung herstellen kann, fährt es fort, zu bestimmen, welche Dateien übertragen werden müssen. Wenn Sie das Flag "-v" gesetzt haben, sehen Sie den Fortschritt Zeile für Zeile. Nachdem die Übertragung abgeschlossen ist, beendet rsync mit einer Zusammenfassung.

Inkrementelle Übertragungen

Der Clou von Rsync ist, dass es inkrementelle Datenübertragungen standardmäßig vollständig unterstützt. Wenn Sie einige neue Dateien haben und dann denselben rsync-Befehl erneut ausführen, werden nur die Dateien übertragen, die übertragen werden müssen.

Nach dem Hinzufügen des Milchstraßenfotos zu meinen Beispieldateien führe ich rsync erneut aus, damit es meine Dateien inkrementell überträgt und nur die neue Datei kopiert
Nach dem Hinzufügen des Milchstraßenfotos zu meinen Beispieldateien führe ich rsync erneut aus, damit es meine Dateien inkrementell überträgt und nur die neue Datei kopiert

Sie können im Screenshot sehen, dass rsync die neue Datei automatisch erkannt hat. Es hat nur diese Datei auf den Remote-Server übertragen. Dies spart Bandbreite, Zeit und Rechenleistung. Es funktioniert mit neuen Dateien und Dateien, die aktualisiert wurden.

Optional können Sie das Flag "--delete" verwenden, um lokale Löschungen an das Zielverzeichnis weiterzugeben und so ein perfektes Spiegelbild der lokalen Dateistruktur zu erstellen. Für Sicherungszwecke sollten Sie dies möglicherweise überspringen (da Sie Dateien unbeabsichtigt entfernen könnten).

Automatisieren von Übertragungen und Backups

Da rsync "nur ein Terminalbefehl" ist, können Sie es einfach in Ihren eigenen Skripten verwenden. Stellen Sie sich ein Skript als eine Sammlung von rsync-Befehlen vor, die eine Reihe von "Quell"- und "Ziel"-Links zwischen Ihren Dateien und ihren jeweiligen Backup-Speicherorten umfassen.

Sie können planen, dass Ihr Skript automatisch an einem bestimmten Wochentag und zu einer bestimmten Tageszeit ausgeführt wird. Unter GNU/Linux, *BSD und macOS können Sie dazu cron verwenden. Unter Windows können Sie die App "Aufgabenplanung" verwenden.

Schlussfolgerung

Mit rsync können Sie Dateien von Ihrem Computer effizient, sicher und inkrementell auf ein anderes System übertragen. Es kann ein entscheidendes Werkzeug in Ihrem Backup-Plan sein.

Es ist kostenlos und weit verbreitet verfügbar. Seine Leistung und Zuverlässigkeit sind weithin anerkannt. Es gibt wirklich keine Entschuldigung dafür, warum Sie Ihre Backups nicht richtig einrichten sollten!