Neue und geänderte Dateien mit Rsync

Neue und geänderte Dateien mit Rsync

Ist es möglich, rsyncalle Dateien in einem Verzeichnis zu übertragen, die geändert oder erstellt wurden? Ich brauche nichts so Anspruchsvolles wie eine CRC-Diff-Prüfung; Dateien mit unterschiedlichen Zeitstempeln und/oder Dateigrößen zählen als Änderungen.

Aus der Manpage schließe ich, dass es möglich sein sollte, aber ich brauche eine kleine Anleitung, welcher Parametersatz übergeben werden soll rsync.

Antwort1

So synchronisieren Sie nur zwei Verzeichnisse:

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

Oder wenn Sie einen ganzen Baum machen möchten:

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

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

Ich füge dort gerne die Flags vund Phinzu, damit ich sehen kann, wie es funktioniert:

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

„-v“ aktiviert den ausführlichen Modus, sodass Sie sehen können, was passiert (die Dateien werden während des Kopiervorgangs aufgelistet), und „-P“ aktiviert den Fortschritt, sodass Sie sehen können, wie lange das Kopieren der einzelnen Dateien dauert (kopierter Prozentsatz, verbleibende Zeit usw.) und wie weit Sie mit dem Kopieren sind.

Antwort2

So rsyncfunktioniert es standardmäßig (zumindest unter Linux). Vondie Manpage:

Rsync findet Dateien, die übertragen werden müssen, mithilfe eines „Quick-Check“-Algorithmus (standardmäßig), der nach Dateien sucht, deren Größe oder letzte Änderungszeit geändert wurde. Alle Änderungen an den anderen beibehaltenen Attributen (wie von Optionen angefordert) werden direkt an der Zieldatei vorgenommen, wenn der Quick-Check anzeigt, dass die Daten der Datei nicht aktualisiert werden müssen.

verwandte Informationen