Welches ist der rsync-Befehl zum „intelligenten“ Zusammenführen zweier Ordner?

Welches ist der rsync-Befehl zum „intelligenten“ Zusammenführen zweier Ordner?

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 Datei X in Ordner B kopieren. Aber natürlich kann ich mit komplexeren Fällen konfrontiert werden, in denen beispielsweise sowohl Ordner A als auch B dieselbe Datei X enthalten: In diesen Fällen möchte ich die neueste Kopie der Datei behalten, also sollte rsync beide Dateien vergleichen und sie überspringen, wenn die Quelle älter ist, andernfalls ist das Ziel die ältere und wird überschrieben.

Welche Parameter sollte ich in die rsync-Befehlszeile eingeben?

Das habe ich beim Googeln herausgefunden, aber ich glaube nicht, dass es stimmt.

rsync -avz --ignore-existing src dest

Die Manpage ist mir irgendwie schleierhaft.

PS In den Fällen, in denen eine Datei in beiden Ordnern vorhanden ist, wäre es besser, die ältere Datei in den Zielordner zu überschreiben und gleichzeitig eine Kopie der älteren Datei aufzubewahren, nur als Backup für den Fall, dass Sie zur vorherigen Datei zurückkehren sollten.

Antwort1

Ich würde ... benutzen:

rsync -abviuzP src/ dest/
  • -iaktiviert das Einzelpostenformat, das mehr Informationen anzeigt als das Standardformat
  • -berstellt rsync-Sicherungsdateien, die in beiden Ordnern vorhanden sind, und hängt sie ~an die alte Datei an. Sie können dieses Suffix steuern mit--suffix .suf
  • -ubewirkt, dass bei der Rsync-Übertragung Dateien übersprungen werden, die im Ziel neuer sind als in der Quelle
  • -zAktiviert die Komprimierung, was bei der Übertragung leicht komprimierbarer Dateien über langsame Verbindungen nützlich ist.
  • -Pschaltet sich ein --partialund--progress
  • --partialsorgt dafür, dass rsync teilweise übertragene Dateien behält, wenn die Übertragung unterbrochen wird
  • --progresszeigt für jede Übertragung einen Fortschrittsbalken an, nützlich, wenn Sie große Dateien übertragen

verwandte Informationen