# Server-Backups mit rsync erstellen

Sicherungskopien sollten stets eine wichtige Rolle in Ihrer Serverplanung spielen. Mit dem kostenfreien Synchronisierungs-Tool bzw. -Protokoll [rsync](https://www.ionos.at/digitalguide/server/tools/rsync/) sind individuelle Backups schnell eingerichtet und durchgeführt.

## rsync-Backups auf Linux-Servern einrichten – so funktioniert‘s

Um rsync auf Linux-Betriebssystemen einzusetzen, installieren Sie das Protokoll im gleichnamigen Paket und erstellen Ihre Sicherungen **mithilfe von Terminal-Befehlen**. Im Folgenden stellen wir Ihnen am Beispiel von [Ubuntu](https://www.ionos.at/digitalguide/server/knowhow/ubuntu-das-linux-system-fuer-jedermann/) die wichtigsten Schritte bei der Einrichtung von Backup-Prozessen mithilfe von rsync sowie einige praktische Beispiele vor.

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

```bash
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. Als Quell- und Zielpfad sind das jeweilige **Ausgangsverzeichnis** sowie das Verzeichnis anzugeben, in das rsync die **Sicherheitskopie ablegen** soll. Den Standardmodus („Archive“) führen Sie beispielsweise folgendermaßen aus:

```bash
rsync -a Quellverzeichnis Zielverzeichnis
```

Tipp Nutzen Sie den Testlauf `-n`, um die Korrektheit der angegebenen **Parameter und Verzeichnisse zu überprüfen**; falsche Angaben können im ungünstigsten Fall zu [Datenverlust](https://www.ionos.at/digitalguide/datenverlust/ "Geschäftsrisiko Datenverlust und der Einfluss von Homeoffice") führen. Werden einige Dateien nicht wunschgemäß kopiert, liegt das oft an fehlenden Zugriffsrechten. Versuchen Sie in einem solchen Fall, den Befehl mit vorangestelltem `sudo` als Administrator auszuführen.

## rsync-Backup: Fünf Beispiele für die Nutzung

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. Fünf beliebte Szenarios für rsync-Backups haben wir in den nachfolgenden Abschnitten zusammengefasst.

### Standard-Backup mit dem Archivierungsmodus

Der **Archivierungsmodus** kopiert standardmäßig alle Dateien aus dem Quellverzeichnis in das Zielverzeichnis inklusive aller Unterverzeichnisse. Sämtliche Berechtigungen, Zeitstempel und Gerätedaten werden beibehalten. Dank der Kombination diverser Optionen in einem einzigen Parameter ist er in vielen Fällen die passende und einfachste Lösung. Kombinieren Sie den Modus mit dem Parameter `-v`, erhalten Sie während des Backup-Vorgangs zusätzlich **ausführliche Statusinformationen**.

```bash
rsync -av Quellverzeichnis Zielverzeichnis
```

Als Quell- und Zielpfad sind das jeweilige **Ausgangsverzeichnis** sowie das **Verzeichnis** anzugeben, in das rsync die **Sicherheitskopie ablegen**soll

### 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. Nach der Standardarchivierung werden alle Dateien gelöscht, die sich vor dem rsync-Backup im Zielordner befunden haben, aber nicht im Quellordner sind.

```bash
rsync -av --delete Quellverzeichnis Zielverzeichnis
```

### rsync-Backup ohne Dateien eines bestimmten Formats

Wenn rsync-Backups durchführen möchten, bei denen 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 das Textdatei-Format [*.txt*](https://www.ionos.at/digitalguide/server/konfiguration/txt-datei/):

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

### Backup von Dateien mit 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:

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

### rsync-Backups inklusive 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):

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

## Die wichtigsten rsync-Backup-Optionen im Überblick

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:

<table>
  <thead>
    <tr>
      <th>Option</th>
      <th>Funktion</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>`-r`, `--recursive`</td>
      <td>rsync-Backup berücksichtigt sämtliche enthaltenen Unterverzeichnisse</td>
    </tr>
    <tr>
      <td>`-u`, `--update`</td>
      <td>Anweisung, Dateien zu überspringen, die im Zielverzeichnis neuer als im Ausgangsverzeichnis sind</td>
    </tr>
    <tr>
      <td>`-c`, `--checksum`</td>
      <td>Unterscheidung von Quell- und Zieldateien anhand von Prüfsummen</td>
    </tr>
    <tr>
      <td>`-l`, `--links`</td>
      <td>Symbolische Verknüpfungen werden als solche kopiert (und nicht als Dateien)</td>
    </tr>
    <tr>
      <td>`-p`, `--perms`</td>
      <td>Berechtigungen der Dateien werden beibehalten</td>
    </tr>
    <tr>
      <td>`-g`, `--group`</td>
      <td>Gruppenberechtigungen der Dateien werden beibehalten</td>
    </tr>
    <tr>
      <td>`-t`, `--times`</td>
      <td>Zeitstempel der Dateien (letzte Änderung) werden beibehalten</td>
    </tr>
    <tr>
      <td>`-o`, `--owner`</td>
      <td>Dateibesitzer wird beibehalten (nur sofern Administrator)</td>
    </tr>
    <tr>
      <td>`-D`, `--devices`</td>
      <td>Gerätedaten werden beibehalten</td>
    </tr>
    <tr>
      <td>`-z`, `--compress`</td>
      <td>Automatische Komprimierung der übertragenen Dateien</td>
    </tr>
    <tr>
      <td>`--compress-level=NUM`</td>
      <td>Bestimmung des Komprimierungsgrades; möglich ist ein Wert („NUM“) zwischen 0 (keine Komprimierung) und 9 (maximale Komprimierung)</td>
    </tr>
    <tr>
      <td>`-v`, `--verbose`</td>
      <td>Ausführlichere Details während des Backup-Prozesses</td>
    </tr>
    <tr>
      <td>`-q`, `--quiet`</td>
      <td>Ausblendung sämtlicher Details zum Backup-Prozess (mit Ausnahme von Fehlermeldungen)</td>
    </tr>
    <tr>
      <td>`-a`, `--archive`</td>
      <td>Archivierungsmodus, der als Standardmodus gilt und identisch mit der Optionskombination `-rlptgoD` ist</td>
    </tr>
    <tr>
      <td>`-n`, `--dry-run`</td>
      <td>Testdurchlauf, bei dem keine tatsächlichen Änderungen vorgenommen werden</td>
    </tr>
    <tr>
      <td>`-h`, `--help`</td>
      <td>Hilfsmenü (nur ohne Angaben von Quell- und Zielverzeichnissen bzw. anderen Argumenten nutzbar)</td>
    </tr>
    <tr>
      <td>`--bwlimit=KBPS`</td>
      <td>Begrenzung der Bandbreite (Kilobytes pro Sekunden); z. B. `--bwlimit=30\` (Limit von 30 kbit/s)</td>
    </tr>
    <tr>
      <td>`--exclude=MUSTER`</td>
      <td>Ausschluss eines Musters von der Synchronisation; z. B. `--exclude Beispielordner\` (Der Ordner „Beispielordner“ wird nicht synchronisiert.)</td>
    </tr>
    <tr>
      <td>`--delete`</td>
      <td>Löschen aller Dateien, die sich im Zielverzeichnis befinden, aber nicht im Quellverzeichnis vorhanden sind</td>
    </tr>
    <tr>
      <td>`--progress`</td>
      <td>Anzeige der Dauer des rsync-Backups sowie der Übertragungsgeschwindigkeit</td>
    </tr>
    <tr>
      <td>`--list-only`</td>
      <td>Auflistung der Dateien anstelle eines Backups</td>
    </tr>
    <tr>
      <td>`--stats`</td>
      <td>Ausführlicher Bericht über die transferierten Daten (Zahl, Größe)</td>
    </tr>
    <tr>
      <td>`--max-size=SIZE`</td>
      <td>Definition einer maximalen Dateigröße; z. B. `--max-size=10MB` (Nur Dateien mit einer Größe von bis zu 10 MB werden transferiert.)\\</td>
    </tr>
    <tr>
      <td>`--ignore-errors`</td>
      <td>Stellt den Abbruch des Backup-Prozesses im Falle eines Fehlers aus</td>
    </tr>
  </tbody>
</table>


This is a markdown version of: [https://www.ionos.at/digitalguide/server/tools/server-backup-mit-rsync-erstellen/](https://www.ionos.at/digitalguide/server/tools/server-backup-mit-rsync-erstellen/) for AI/LLM consumption.