Mit rsync Dateien zurückkopieren - wie vorhandene überspringen?

rakso

Well-Known Member
Hallo,

ich habe ein kleines Problem, mit rsync. Und zwar möchte ich ein backup zurückspielen. Nun ist es so, dass ein Großteil der Dateien auf dem Zielsystem vorhanden und unverändert sind. Diese müssen also nicht übertragen werden. Bislang dachte ich, dass das die Stärke von rsync sein. Aber egal, wie ich rsync aufrufe, mit c oder keep-existing.. immer das fast gleiche: Etwa 140G und über 200000 Dateien wollen übertragen werden. Stichproben, mit ein paar Angegeben Dateien, bestätigen, dass diese Dateien exakt gleich (size, uid, gid, ..) auf beiden Systemen identisch sind.

rsync -vrcl --ignore-existing --stats --dry-run --progress --human-readable -e "ssh ..


Wie nun kann ich NUR DIE TATSÄCHLICH NICHT VORHANDENE oder in ihrer größe Unterscheidlichen (checksum?!) übertragen?


Grüße
rakso
 
rsync "tut" immer so, als ob es alle Daten komplett überträgt. Bei den Blöcken, die gleich sind, werden dann aber effektiv nicht übertragen, rsync "tut" aber wieder so, als ob die Übertragen werden.

Sieht man sehr schön, plötzlich steigt dann die Übertragungsrate bei mir bei DSL Upload plötzlich auf mehrerer MB/s.

Grundsätzlich ist rsync aber langsamer als nur konkret die Datein zu übertragen, die wirklich geändert sind, das checksum/Dateilisten erstellen dauert halt einen Moment.
 
Hallo rakso,

da ich keinen Fehler bei Dir finden konnte, habe ich es mal ausprobiert: Ich habe zwei Verzeichnisse 1 und 2 angelegt und Daten mit Deinem Befehl mehrfach abgegelichen und es funktioniert
Code:
rsync -vrcl --ignore-existing --stats --progress --human-readable 1/ 2/
Ein nochmaliges Übertragen fand nicht statt (sagen sowohl die Statistik als auch die Dateien selbst)! Auch ein touch auf eine Datei im Ordner 1 änderte daran korrekterweise nichts, da ja die Checksum verglichen werden soll.

Kann es sein, dass Du bei den Ordnern die Slashes vergessen hast, also sowas genommen hast
Code:
rsync -vrcl --ignore-existing --stats --progress --human-readable 1 2
Dann legt er nämlich den kompletten Ordner 1 nochmal unter 2 an, als 2/1/

Ansonsten noch der Hinweis: Wenn Du beim ursprünglichen Backup den Archiv-Parameter -a (oder sonst -ptgo) gewählt hast, hast Du ja die ganzen Metadaten erhalten (permission, time, group, owner). Dann möchstest Du die vielleicht auch wieder so herstellen... ansonsten bekommst Du zumindest ein neues Datum für kopierte Dateien.
 
Zuletzt bearbeitet:
meist sind die Backup-Dateien "älter" und die Option -u (also rsync -auv) erfüllt bereits alle Ansprüche.
 
Zurück
Oben