Was ist der Befehl rsync, um zwei Ordner «intelligent» zusammenzuführen?


39

Ich habe einige Ordner, die versehentlich dupliziert wurden, und ich muss sie zusammenführen. Angenommen, Ordner A enthält Datei X und Ordner B enthält Datei Y. Ich möchte, dass Datei X in Ordner B kopiert wird. Natürlich kann es auch zu komplexeren Fällen kommen, in denen z. B. Ordner A und B dieselbe Datei X enthalten : In diesen Fällen möchte ich die neueste Kopie der Datei behalten, daher sollte rsync beide Dateien vergleichen. Wenn der Ursprung älter ist, überspringen Sie ihn einfach, andernfalls ist das Ziel das ältere, überschreiben Sie ihn.

Welche Parameter sollte ich in die rsync-Befehlszeile eingeben?

Dies ist, was ich googeln fand, aber ich denke nicht, ist richtig.

rsync -avz --ignore-existing src dest

Die Manpage ist mir irgendwie ein Rätsel.

Vielen Dank.

PS: In den Fällen, in denen eine Datei in beiden Ordnern vorhanden ist, ist es am besten, die ältere Datei in den Zielordner zu überschreiben und gleichzeitig eine Kopie der älteren zu speichern Bisherige

Antworten:


66

Ich würde ... benutzen:

rsync -abviuzP src/ dest/
  • -i Aktiviert das aufgeschlüsselte Format, in dem mehr Informationen als im Standardformat angezeigt werden
  • -berstellt rsync-Sicherungsdateien, die in beiden Ordnern vorhanden sind, und hängt sie ~an die alte Datei an. Sie können dieses Suffix mit steuern--suffix .suf
  • -u Lässt rsync Dateien überspringen, die in dest neuer sind als in src
  • -z Aktiviert die Komprimierung, die nützlich ist, wenn Sie leicht komprimierbare Dateien über langsame Verbindungen übertragen
  • -Pschaltet sich ein --partialund--progress
  • --partial bewirkt, dass rsync teilweise übertragene Dateien beibehält, wenn die Übertragung unterbrochen wird
  • --progress Zeigt für jede Übertragung einen Fortschrittsbalken an, der nützlich ist, wenn Sie große Dateien übertragen

2
Wirklich nett, ich habe am Endersync -abuP
qed
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.