Backups sollten ein fixer Be­stand­teil deiner Ser­ver­pla­nung sein. Mit dem kos­ten­lo­sen Syn­chro­ni­sie­rungs-Tool bzw. -Protokoll rsync lassen sich in­di­vi­du­el­le Si­che­run­gen rasch kon­fi­gu­rie­ren und umsetzen.

So richtest du rsync-Backups auf Linux-Servern ein

Um rsync auf Linux-Systemen zu nutzen, in­stal­lierst du das Protokoll im gleich­na­mi­gen Paket und steuerst deine Si­che­run­gen direkt über Terminal-Befehle. Wir zeigen dir am Beispiel von Ubuntu die ent­schei­den­den Schritte für die Ein­rich­tung deiner Backup-Prozesse sowie hilf­rei­che Pra­xis­bei­spie­le.

In der Regel ist rsync unter Ubuntu bereits vor­in­stal­liert. Falls nicht, kannst du die In­stal­la­ti­on mit diesem Befehl einfach nachholen:

sudo apt-get install rsync
bash

Nach der In­stal­la­ti­on de­fi­nierst du per Terminal-Befehl Quell- und Ziel­ver­zeich­nis sowie die ge­wünsch­ten Optionen. Gib dabei den Ur­sprungs­pfad und das Ver­zeich­nis an, in dem rsync die Si­cher­heits­ko­pie speichern soll. Den Ar­chiv­mo­dus startest du bei­spiels­wei­se so:

rsync -a Quellverzeichnis Zielverzeichnis
bash

rsync-Backup: Fünf prak­ti­sche Ein­satz­bei­spie­le

Sobald du die Ba­sis­be­feh­le be­herrschst, hast du mit rsync ein mächtiges Werkzeug zum Kopieren von Daten und Erstellen von Backups. Du kannst entweder eigene Be­fehls­kom­bi­na­tio­nen erstellen oder auf bewährte Setups zu­rück­grei­fen. Wir haben fünf gängige Szenarien für rsync-Backups für dich zu­sam­men­ge­fasst.

Klas­si­sches Backup im Ar­chiv­mo­dus

Der Ar­chiv­mo­dus übernimmt stan­dard­mä­ßig sämtliche Dateien und Un­ter­ver­zeich­nis­se aus der Quelle. Dabei bleiben Be­rech­ti­gun­gen, Zeit­stem­pel und Ge­rä­te­da­ten erhalten. Da er viele Optionen in einem Parameter bündelt, ist er meist die ef­fi­zi­en­tes­te Lösung. Wenn du zu­sätz­lich den Parameter -v nutzt, erhältst du während des Vorgangs de­tail­lier­te Sta­tus­mel­dun­gen.

rsync -av Quellverzeichnis Zielverzeichnis
bash

Gib als Quell- und Zielpfad einfach das jeweilige Aus­gangs­ver­zeich­nis sowie den Spei­cher­ort für die Si­che­rungs­ko­pie an.

Exakte 1-zu-1-Kopie des Ver­zeich­nis­ses

rsync kopiert nicht nur Daten, sondern kann auch iden­ti­sche Abbilder von Ord­ner­struk­tu­ren erstellen. Bei dieser Variante werden alle Dateien im Ziel­ord­ner gelöscht, die in der Quelle nicht mehr exis­tie­ren.

rsync -av --delete Quellverzeichnis Zielverzeichnis
bash

Bestimmte Da­tei­for­ma­te beim Backup aus­schlie­ßen

Möchtest du bestimmte Da­tei­ty­pen vom Backup ausnehmen, nutzt du dafür --exclude. Damit de­fi­nierst du ein Muster, das rsync anweist, diese Dateien zu igno­rie­ren. Im folgenden Beispiel werden etwa .txt-Dateien über­sprun­gen:

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

Sicherung nach Da­tei­grö­ße filtern

Falls nicht das Format, sondern die Da­tei­grö­ße ent­schei­dend für die Auswahl ist, kommen die Parameter --max-size bzw. --min-size zum Einsatz. Mit dem folgenden Befehl werden nur Dateien gesichert, die zwischen 10 MB und 100 MB groß sind:

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

Backups mit au­to­ma­ti­scher Zei­chen­kon­ver­tie­rung

Manchmal benötigen Daten im Ziel ein anderes Zei­chen­for­mat – etwa beim Transfer von einem Mac auf einen Linux-Server. Apple nutzt oft UTF8-MAC, was unter Linux zu Problemen bei Umlauten führen kann. Mit der Option --iconv passt du die Kodierung direkt beim Sichern an (hier von UTF8-MAC auf UTF8):

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

Wichtige rsync-Optionen in der Übersicht

Über Optionen (als Kürzel oder aus­ge­schrie­ben) passt du deine rsync-Backups in­di­vi­du­ell an. Die re­le­van­tes­ten Parameter haben wir hier für dich auf­ge­lis­tet:

Option Funktion
-r, --recursive Sicherung in­klu­diert alle vor­han­de­nen Un­ter­ver­zeich­nis­se
-u, --update Über­springt Dateien, die im Ziel aktueller sind als in der Quelle
-c, --checksum Vergleich von Dateien mittels Prüf­sum­men
-l, --links Übernimmt Symlinks als Ver­knüp­fung (statt als Datei)
-p, --perms Behält Da­tei­be­rech­ti­gun­gen un­ver­än­dert bei
-g, --group Behält die Grup­pen­rech­te der Dateien bei
-t, --times Übernimmt Zeit­stem­pel der letzten Änderung
-o, --owner Erhält den Da­tei­be­sit­zer (erfordert Admin-Rechte)
-D, --devices Übernimmt Ge­rä­te­da­ten voll­stän­dig
-z, --compress Kom­pri­miert Daten während der Über­tra­gung au­to­ma­tisch
--compress-level=NUM Legt den Kom­pri­mie­rungs­grad fest (0 für keine bis 9 für maximale Kom­pres­si­on)
-v, --verbose Zeigt aus­führ­li­che Details zum Fort­schritt an
-q, --quiet Un­ter­drückt alle Meldungen (außer Fehlern)
-a, --archive Ar­chiv­mo­dus (Standard); ent­spricht der Kom­bi­na­ti­on -rlptgoD
-n, --dry-run Simuliert den Vorgang ohne reale Än­de­run­gen
-h, --help Ruft das Hilfemenü auf
--bwlimit=KBPS Limitiert die Band­brei­te; z. B. --bwlimit=30\ für 30 kbit/s
--exclude=MUSTER Schließt Muster aus; z. B. --exclude Beispielordner\ ignoriert den genannten Ordner
--delete Löscht Dateien im Ziel, die in der Quelle fehlen
--progress Gibt Infos zu Dauer und Ge­schwin­dig­keit aus
--list-only Listet Dateien nur auf, statt sie zu kopieren
--stats Zeigt eine Statistik über trans­fe­rier­te Da­ten­men­gen
--max-size=SIZE Setzt Grö­ßen­li­mit; z. B. --max-size=10MB für maximal 10 MB pro Datei
--ignore-errors Ignoriert Fehler und bricht den Prozess nicht ab
Zum Hauptmenü