Wie vermeide ich unnötiges Löschen und erneutes Kopieren verschobener Ordner bei der Verwendung von rsync?

Wie vermeide ich unnötiges Löschen und erneutes Kopieren verschobener Ordner bei der Verwendung von rsync?

Ich habe gelesen, dass rsync verschobene Ordner nicht erkennen kann und sie einfach löscht und in die neue Ordnerstruktur erneut kopiert.

Die einzige Änderung, die ich an meiner Masterkopie vorgenommen habe, ist die einfache Einführung eines obersten Ordners zur Aufnahme meiner Originaldateien, und zwar:

folder1
folder2
folder3

hinein

top\folder1
top\folder2
top\folder3

Ich habe mich gefragt, ob ich dasselbe einfach manuell in meiner Sicherungskopie tun und die Änderungszeiten der beiden obersten Ordner irgendwie korrigieren könnte, sodass nachfolgende Aufrufe von rsync normal ausgeführt würden.

Wird das funktionieren? Wenn ja, wie? Wenn nicht, was ist die empfohlene Vorgehensweise zur Lösung dieses Problems? Oder sollte ich rsync von vornherein mit anderen Parametern ausführen? (anstelle von rsync -a --delete /mnt/SRC /mnt/DESTdenen, die ich derzeit verwende)

Die Verzeichnisse sind ziemlich groß und deshalb möchte ich unnötiges erneutes Kopieren so weit wie möglich vermeiden.

Antwort1

Ja, Sie können die Verschiebung in der Sicherungskopie manuell durchführen und dann rsync ausführen. Sie müssen die Änderungszeiten nicht ändern; überlassen Sie das einfach rsync.

Eine solche Umbenennung lässt sich nur schwer automatisch erkennen. Die übliche Lösung besteht daher darin, sie manuell zu duplizieren.

Antwort2

Wenn Sie movelly verwenden, müssen Sie die Änderungszeiten der Dateien nicht auch noch manuell aktualisieren.

Wenn Sie nicht unbedingt die neue Verzeichnisstruktur spiegeln möchten und nur die Dateien möchten, können Sie auch rsync --(Optionen) /mnt/SRC/neuesVerzeichnis/ /mnt/DEST verwenden. Beachten Sie den zusätzlichen Schrägstrich auf der SRC-Seite, da Sie sonst alles neu kopieren müssen.

Antwort3

Die vorgeschlagene LösungHierhat geholfen:

rsync -vrt --size-only /src/ /dest/

Die Option --size-only bewirkt, rsyncdass Zeitstempel ignoriert werden, während die Option -t (Änderungszeiten beibehalten) dazu führt, rsyncdass alle abweichenden Änderungszeiten in der Zielkopie korrigiert werden.

verwandte Informationen