Server-Backups mit rsync

Wenn Sie von regelmäßigen Server-Backups absehen, haben Sie kaum eine Möglichkeit, verlorene Dateien wiederherzustellen. Sicherungskopien sollten daher stets eine wichtige Rolle in Ihrer Serverplanung spielen. Zu den zahlreichen verfügbaren Backup-Lösungen gehört auch das Synchronisierungs-Tool bzw. -Protokoll rsync.

Cloud Backup von IONOS

Maximaler Schutz für Ihre Unternehmensdaten: Einfache Backups für Cloud-Infrastruktur, PCs und Smartphones, inklusive persönlichem Berater!

Umfassender Schutz
Einfache Wiederherstellung
Schnelle Datenspeicherung

Was ist rsync und wozu wird es verwendet?

Hinter dem Namen rsync verbirgt sich ein Netzwerkprotokoll für die Synchronisierung von Dateien, das aus dem Jahr 1996 stammt und unter anderem von Andrew Tridgell, dem Hauptverantwortlichen des SAMBA-Projekts, entwickelt wurde. Zusätzlich zu dem Protokoll existiert ein gleichnamiges Tool, das die Kommunikation über selbiges ermöglicht. Die GPL-lizenzierte Anwendung kann kostenfrei verwendet werden und überträgt Daten von einem Quellverzeichnis in das gewünschte Zielverzeichnis – lokal oder über ein öffentliches Netzwerk. Dabei werden Dateigröße und Erstellungszeit aller Dateien in Quell- und Zielordner verglichen, sodass bei jeder Synchronisation nur veränderte Dateien kopiert werden müssen. Aus diesem Grund gilt der rsync-Backup-Vorgang als inkrementelle Backup-Variante, die den Vorteil hat, dass sie schnell ausgeführt werden kann und wenig Speicherplatz in Anspruch nimmt.

Hinweis

rsync ist für alle gängigen UNIX-Betriebssysteme wie OS/2, Linux oder macOS verfügbar. Auf der Basis des API-Wrappers Cygwin ist es auch unter Microsoft Windows nutzbar.

Zu den typischen Einsatzszenarios von rsync zählen neben der Datensicherung und der Generierung sogenannter Spiegelserver (komplette Server-Abbilder) auch der Datenabgleich in Unternehmen mit verschiedenen Standorten und schwacher Datenanbindung. Insbesondere letztere Funktion wird heute aber fast ausschließlich von modernen Cloud-Technologien übernommen – auch, weil eine schwache Datenanbindung immer seltener vorliegt.

Die wichtigsten rsync-Optionen im Überblick

rsync-Backups zeichnen sich durch ihre hohe Effizienz aus. Der inkrementelle Ansatz sorgt für eine minimale Netzauslastung, was insbesondere bei großen Dateien von Vorteil ist – egal, ob die Änderungen an diesen Dateien groß oder nur sehr gering sind. Als Kommandozeilen-Tool wird rsync standardmäßig über das Terminal bedient – bzw. über die Eingabeaufforderung, wenn Sie rsync auf einem Windowsgerät verwenden. Die Eingaben haben dabei immer folgende Syntax:

rsync -(-)Optionen Quellpfad Zielpfad

Als Quell- und Zielpfad sind das jeweilige Ausgangsverzeichnis sowie das Verzeichnis anzugeben, in das rsync die Sicherheitskopie ablegen soll. Mithilfe der Optionen, die wahlweise per Buchstabe abgekürzt oder ausgeschrieben werden, definieren Sie die individuellen Einstellungen für Ihre rsync-Backups. Die wichtigsten Parameter, die sich beliebig miteinander kombinieren lassen, fasst die nachfolgende Tabelle zusammen:

Option

Funktion

-r, --recursive

rsync-Backup berücksichtigt sämtliche enthaltenen Unterverzeichnisse

-u, --update

Anweisung, Dateien zu überspringen, die im Zielverzeichnis neuer als im Ausgangsverzeichnis sind

-c, --checksum

Unterscheidung von Quell- und Zieldateien anhand von Prüfsummen

-l, --links

Symbolische Verknüpfungen werden als solche kopiert (und nicht als Dateien)

-p, --perms

Berechtigungen der Dateien werden beibehalten

-g, --group

Gruppenberechtigungen der Dateien werden beibehalten

-t, --times

Zeitstempel der Dateien (letzte Änderung) werden beibehalten

-o, --owner

Dateibesitzer wird beibehalten (nur sofern Administrator)

-D, --devices

Gerätedaten werden beibehalten

-z, --compress

Automatische Komprimierung der übertragenen Dateien

--compress-level=NUM

Bestimmung des Komprimierungsgrades; möglich ist ein Wert („NUM“) zwischen 0 (keine Komprimierung) und 9 (maximale Komprimierung)

-v, --verbose

Ausführlichere Details während des Backup-Prozesses

-q, --quiet

Ausblendung sämtlicher Details zum Backup-Prozess (mit Ausnahme von Fehlermeldungen)

-a, --archive

Archivierungsmodus, der als Standardmodus gilt und identisch mit der Optionskombination -rlptgoD ist

-n, --dry-run

Testdurchlauf, bei dem keine tatsächlichen Änderungen vorgenommen werden

-h, --help

Hilfsmenü (nur ohne Angaben von Quell- und Zielverzeichnissen bzw. anderen Argumenten nutzbar)

--bwlimit=KBPS

Begrenzung der Bandbreite (Kilobytes pro Sekunden); z. B. --bwlimit=30 (Limit von 30 kbit/s)

--exclude=MUSTER

Ausschluss eines Musters von der Synchronisation; z. B. --exclude Beispielordner (Der Ordner „Beispielordner“ wird nicht synchronisiert.)

--delete

Löschen aller Dateien, die sich im Zielverzeichnis befinden, aber nicht im Quellverzeichnis vorhanden sind

--progress

Anzeige der Dauer des rsync-Backups sowie der Übertragungsgeschwindigkeit

--list-only

Auflistung der Dateien anstelle eines Backups

--stats

Ausführlicher Bericht über die transferierten Daten (Zahl, Größe)

--max-size=SIZE

Definition einer maximalen Dateigröße; z. B. --max-size=10MB (Nur Dateien mit einer Größe von bis zu 10 MB werden transferiert.)

--ignore-errors

Stellt den Abbruch des Backup-Prozesses im Falle eines Fehlers aus

Einrichtung von rsync-Backups auf Linux-Servern

Um rsync auf Linux-Betriebssystemen einzusetzen, installieren Sie das Protokoll im gleichnamigen Paket und erstellen Ihre Sicherungen mithilfe von Terminal-Befehlen. Alternativ können Sie auf Anwendungen wie Back In Time, rsnapshot (für regelmäßige automatisierte Sicherungen) oder Unison zurückgreifen, die die Steuerung des Backup-Prozesses über ein grafisches Interface ermöglichen. Im Folgenden stellen wir Ihnen am Beispiel von Ubuntu die wichtigsten Schritte bei der Einrichtung von Backup-Prozessen mithilfe von rsync vor:

Standardmäßig ist rsync unter Ubuntu bereits installiert. Sollte dies nicht der Fall sein, holen Sie die Installation über den folgenden Befehl nach:

sudo apt-get install rsync

Ist rsync installiert, nutzen Sie die gewünschten Terminal-Befehle, um Quell- und Zielverzeichnis sowie die Backup-Optionen zu bestimmen. Den Standardmodus („Archive“) führen Sie beispielsweise folgendermaßen aus:

rsync -a Quellverzeichnis Zielverzeichnis
Tipp

Es ist ratsam, vom Testlauf (-n) Gebrauch zu machen und die Korrektheit der angegebenen Parameter und Verzeichnisse zu überprüfen; falsche Angaben können im ungünstigsten Fall zu Datenverlust führen. Werden einige Dateien während des Prozesses nicht wunschgemäß kopiert, liegt das oft an fehlenden Zugriffsrechten. Versuchen Sie in einem solchen Fall, den Befehl als Administrator auszuführen, indem Sie dem Kommando den Parameter „sudo“ voranstellen.

5 Beliebte rsync-Backup-Szenarien

Wenn Sie die grundlegenden Befehle beherrschen, haben Sie mit rsync ein erstklassiges Werkzeug zum Kopieren von Dateien und Erstellen von Backups zur Hand. Dabei können Sie wahlweise individuelle Kommando-Setups testen und anwenden oder auf bewährte Kombinationen der zur Verfügung stehenden rsync-Parameter zurückgreifen. Besonders beliebt sind beispielsweise folgende rsync-Backup-Szenarien:

Standard-Backup mit dem Archivierungsmodus

Der Archivierungsmodus, der standardmäßig alle Dateien aus dem Quellverzeichnis in das Zielverzeichnis kopiert (inklusive aller Unterverzeichnisse) und dabei sämtliche Berechtigungen, Zeitstempel und Gerätedaten beibehält, ist dank der Kombination diverser Optionen in einem einzigen Parameter in vielen Fällen die passende und einfachste Lösung. Kombinieren Sie den Modus mit dem Parameter –v, erhalten Sie zusätzlich während Backup-Vorgangs ausführliche Statusinformationen.

rsync -av Quellverzeichnis Zielverzeichnis

1-zu-1-Kopie des Quellverzeichnisses

rsync kann nicht nur Dateien von A nach B übertragen, sondern auch 1-zu-1-Kopien von Ordnern oder kompletten Verzeichnissen erstellen. Es werden nach der Standardarchivierung die Dateien gelöscht, die sich vor rsync im Zielordner befunden haben, aber nicht im Quellordner sind.

rsync -av --delete Quellverzeichnis Zielverzeichnis

Backup mit Ausschluss von Dateien eines bestimmten Formats

Wenn Sie ein Backup durchführen möchten, bei dem Dateien in einem bestimmten Format ausgeschlossen werden sollen, können Sie dies mithilfe von --exclude umsetzen. Der Parameter ermöglicht Ihnen, ein individuelles Zeichenmuster zu definieren, das rsync als Indikator dient, eine Datei zu ignorieren. Beim folgenden Code-Beispiel ist es etwa das Textdatei-Format .txt:

rsync -av --exclude'*.txt' Quellverzeichnis Zielverzeichnis

Backup von Dateien mit definierter Mindest- bzw. Maximalgröße

Soll nicht ein bestimmtes Zeichenmuster, sondern die Dateigröße den Ausschlag für eine Nichtberücksichtigung bestimmter Dateien beim rsync-Backup geben, sind die Parameter --max-size bzw. --min-size zu verwenden. Mit dem folgenden Kommando werden nur solche Dateien kopiert, die mindestens 10 MB und maximal 100 MB groß sind:

rsync -av --min-size=10MB --max-size=100MB Quellverzeichnis Zielverzeichnis

Backup inklusive einer Konvertierung des Zeichenformats

Es kann sein, dass Dateien im Zielverzeichnis in einem anderen Zeichenformat benötigt werden – beispielsweise, wenn Sie Daten von einem Mac auf einen Linux-Server übertragen möchten. Das Apple-Gerät verwendet standardmäßig UTF8-MAC, das auf dem Linux-System nicht vorhanden ist und zu Problemen mit Sonderzeichen und Umlauten führen würde. Mit der Option --iconv lässt sich die Zeichenkodierung ganz einfach im Rahmen des rsync-Backup-Prozesses anpassen (im Beispiel von UTF8-MAC auf UTF8):

rsync -av --iconv=UTF8-MAC,UTF8 Quellverzeichnis Zielverzeichnis