Rsync änderte nur Dateien


14

Ist es möglich, rsyncalle Dateien in einem Verzeichnis zu übertragen, die geändert oder erstellt wurden? Ich brauche nicht so etwas Raffiniertes wie einen CRC-Diff-Check. Dateien mit unterschiedlichen Zeitstempeln und / oder Dateigrößen gelten als Änderungen.

Die Manpage vermittelt den Eindruck, dass dies möglich sein sollte, aber ich benötige eine kleine Anleitung, welche Parameter übergeben werden sollen rsync.

Antworten:


19

So synchronisieren Sie nur zwei Verzeichnisse:

$ rsync /source/path/* /dest/path/

Oder wenn Sie einen ganzen Baum machen wollen:

$ rsync -a /source/path/ /dest/path/

"-a" gibt den "Archiv" -Modus an, in dem der Baum so genau wie möglich dupliziert wird.

Ich mag es, die Flags hinzuzufügen vund Pdort zu sehen, wie es funktioniert:

$rsync -avP /source/path/ /dest/path/

"-v" aktiviert den ausführlichen Modus, damit Sie sehen können, was er tut (die Dateien werden beim Kopieren aufgelistet), und "-P" aktiviert den Fortschritt, damit Sie sehen können, wie lange es dauert, jede Datei zu kopieren (in Prozent kopiert, Verbleibende Zeit usw.) und zeigt an, wie weit Sie in der Kopie sind.


3
... und vielleicht das Z-Flag hinzufügen, um die Komprimierung für die Übertragung zu verwenden
Linker3000

4
... wenn Sie an einen entfernten Ort
wechseln

14

So rsyncfunktioniert das standardmäßig (zumindest unter Linux). Von der Manpage :

Rsync findet Dateien, die mit einem "Quick Check" -Algorithmus (standardmäßig) übertragen werden müssen, der nach Dateien sucht, deren Größe oder die zuletzt geänderte Zeit geändert wurde. Alle Änderungen an den anderen beibehaltenen Attributen (wie von den Optionen angefordert) werden direkt in der Zieldatei vorgenommen, wenn die Schnellprüfung anzeigt, dass die Daten der Datei nicht aktualisiert werden müssen.


Ah, ich hatte mich verwirrt, als ich die Dokumentation falsch gelesen hatte. Vielen Dank :)
instanceofTom
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.