Wie verwende ich rsync mit --delete und lasse dabei nicht gesicherte Verzeichnisse intakt?

Wie verwende ich rsync mit --delete und lasse dabei nicht gesicherte Verzeichnisse intakt?

Ich weiß, dass es zahlreiche Threads zum Thema „rsync und symbolische Links“ gibt, kann aber keinen finden, der auf mein Problem zutrifft.

Ich möchte rsync verwenden, um Sicherungskopien einer /homePartition zu erstellen, mit der zusätzlichen Besonderheit, dass /home einige echte Home-Verzeichnisse und einige symbolische Links zu einem anderen Dateisystem enthält:

/home/user1 (a directory)
/home/user2 (a symlink to another fs)

Ich versuche Folgendes zu verwenden:

rsync -axv --delete /home /some_backup/

Wobei /some_backupbereits enthalten ist:

/some_backup/home/user1
/some_backup/home/user2
/some_backup/home/user3

…wobei die Verzeichnisse user2und user3von einem anderen rsync von einem anderen Computer aus gefüllt werden. Leider funktioniert diese rsync-Zeile nicht, da mein rsync-Aufruf Folgendes löscht /some_backup/home/user3(weil dies in meinem /home nicht vorhanden ist) und auch /some_backup/home/user2(weil dies ein Out-of-FS-Symlink ist).

Gibt es eine Möglichkeit, rsync anzuweisen, Zielverzeichnisse zu ignorieren, die keine Entsprechung in der Quelle haben? Ich brauche das, --deleteweil dieses Verhalten sonst erforderlich ist.

Eine mögliche Lösung besteht darin, für jedes zu kopierende /home/user-Verzeichnis eine rsync-Anweisung zu verwenden (anstatt das gesamte /home-Verzeichnis zu sichern). Dies ist nicht ideal, da Benutzer kommen und gehen, was einen viel größeren Wartungsaufwand bedeuten würde.

verwandte Informationen