`rsync` ist ein sehr leistungsfähiges Werkzeug, das in Unix/Linux-Systemen zum Synchronisieren und Kopieren von Dateien verwendet wird. Es ist besonders nützlich für große Dateimengen oder für Dateien, die sich regelmäßig ändern. Es verwendet das “Delta-Transfer-Algorithmus” -Prinzip, um nur die Teile von Dateien zu kopieren, die sich geändert haben, anstatt die gesamte Datei zu kopieren.
Wenn Sie Dateien mit rsync kopieren, ohne bestehende Dateien zu überschreiben, können Sie die Option `-u` (oder `—update`) verwenden. Diese Option stellt sicher, dass rsync nur Dateien kopiert, die auf der Quellseite neuer sind als die entsprechenden Dateien auf der Zielseite.
Hier ist ein einfaches Beispiel für die Verwendung von rsync mit der Option `-u`:
```bash
rsync -avu /pfad/zur/quelle/ /pfad/zum/ziel/
```
In diesem Beispiel:
- `-a` steht für “Archiv”, was eine Methode ist, die eine Vielzahl anderer Optionen setzt, um sicherzustellen, dass die Dateien so genau wie möglich kopiert werden.
- `-v` steht für “verbose”, was bedeutet, dass rsync eine Menge Informationen über die gerade durchgeführten Aktionen ausgibt.
- `-u` ist die Option, die wir besprochen haben: Sie verhindert, dass rsync Dateien überschreibt, die auf der Zielseite neuer sind als auf der Quellseite.
Beachten Sie, dass der Slash am Ende von `/pfad/zur/quelle/` in diesem Beispiel wichtig ist: Er bedeutet, dass rsync den Inhalt des Quellverzeichnisses und nicht das Verzeichnis selbst kopiert.
Es ist wichtig zu beachten, dass rsync standardmäßig keine enthaltenen Quellverzeichnisse löscht. Wenn Sie sicherstellen möchten, dass rsync auch leere Verzeichnisse oder Dateien löscht, die in der Quelle nicht vorhanden sind, können Sie die Option `—delete` verwenden.
Insgesamt ist rsync ein sehr flexibles und leistungsfähiges Werkzeug zum Kopieren und Synchronisieren von Dateien. Mit der richtigen Kombination von Optionen kann es genau an Ihre Anforderungen angepasst werden.
Quellen:
1. “Rsync (Remote Sync): 10 praktische Beispiele von rsync-Befehlen in Linux”, TecMint, https://www.tecmint.com/rsync-local-remote-file-synchronization-commands/
2. “Rsync Tutorial”, Like Geeks, https://likegeeks.com/rsync-tutorial/
3. “Rsync man page”, https://linux.die.net/man/1/rsync