Einfach ausgedrückt, rsync
verwendet relative Pfade, um zu bestimmen, was ausgeschlossen werden soll. Aus der rsync
Manpage :
Wenn das Muster mit einem / beginnt, wird es an einer bestimmten Stelle in der Hierarchie der Dateien verankert, andernfalls wird es mit dem Ende des Pfadnamens abgeglichen. Dies ähnelt einem führenden ^ in regulären Ausdrücken. Daher würde "/ foo" mit einer Datei mit dem Namen "foo" in der "Wurzel der Übertragung" übereinstimmen (für eine globale Regel) (…)
Die einfachste Möglichkeit, dies zu umgehen, ist die Verwendung von --relative
/ -R
, wodurch Sie Dropbox wie folgt ausschließen können:
rsync -avR --exclude='/Users/alex/Dropbox' /Users/alex /Volumes/Backup_Mac
Der Name relative
bezieht sich darauf, wie rsync
die Pfade gesendet werden, und hat daher nichts mit der Angabe von absoluten Ausschlussmustern zu tun.
Beachten Sie, dass hierdurch die vollständige Verzeichnisstruktur erstellt /Volumes/Backup_Mac/Users/alex/
wird. In Ihrem Fall ist das jedoch keine besonders schlechte Sache.