Hi,
wenn ich mit rsync -a dateien bzw ganze Verzeichnisse kopiere, woran erkennt rsync, welche Dateien zu kopieren sind und welche nicht?
Kann es passieren, dass rsync eine Datei nicht kopiert, weil so ziemlich alle Eigenschaften der Zieldatei identisch sind? Somit könnte eine potentiell geänderte Datei in der Quelle nicht übertragen werden.
Gruß
Frage zu rsync -a
- heisenberg
- Beiträge: 4138
- Registriert: 04.06.2015 01:17:27
- Lizenz eigener Beiträge: MIT Lizenz
Re: Frage zu rsync -a
Grundsätzlich gibt es den Schnelltest - das ist Vorgabe und prüft Dateigrösse und Änderungsdatum - und die Möglichkeit eine komplette Checksumme der Dateien zu vergleichen. Dazu muss allerdings die komplette Datei auf beiden Seiten gelesen werden, was eine grosse I/O-Last auf Quelle und Ziel verursachen kann.
Siehe Manpage. Option -c, --checksum, evtl. -I, --ignore-times und Abschnitt Beschreibung.
Siehe Manpage. Option -c, --checksum, evtl. -I, --ignore-times und Abschnitt Beschreibung.
Re: Frage zu rsync -a
fast dasselbe wollt ich auch gerade schreiben, aber wenn sich hier schon demnächst die geballte Kompetenz dieses Forums versammelt:
Funktioniert -c genauso, wenn Quelle und Ziel auf lokalen Dateisystemen liegen?
Funktioniert -c genauso, wenn Quelle und Ziel auf lokalen Dateisystemen liegen?
- heisenberg
- Beiträge: 4138
- Registriert: 04.06.2015 01:17:27
- Lizenz eigener Beiträge: MIT Lizenz
Re: Frage zu rsync -a
Da gibt's nochmal irgend einen Unterschied zwischen lokal und remote. Ich meine es war, dass der Delta-Algorithmus bei einer lokalen Kopie nicht verwendet wird. Bei --checksum steht nix von einer Unterscheidung zwischen lokal und remote.
Re: Frage zu rsync -a
"rsync -c" wird unter viewtopic.php?t=148527 noch etwas erklärt.
"rsync -c" wird auch auf lokalen Datenträgern funktionieren. Normalerweise ist die Option "-c" aber eigentlich fast unnötig. Die Gleichheit wird normalerweise wie oben beschrieben über das Änderungsdatum und die Größe kontrolliert. Bei Ungleichheit bzw. falls die Datei am Ziel nicht existiert wird die korrekte Übertragung über Prüfsummen sichergestellt (auch ohne -c).
Wenn es rein um Performance auf lokalen Datenträgern und mehrfache, inkrementelle Sicherungen geht empfehle ich generell den Blick auf die Option "--link-dest". Dann sind die Dateien nicht nur bitweise gleich, sondern physikalisch identisch (Stichwort Hardlinks). Da braucht man dann gar nichts mehr zu vergleichen.
"rsync -c" wird auch auf lokalen Datenträgern funktionieren. Normalerweise ist die Option "-c" aber eigentlich fast unnötig. Die Gleichheit wird normalerweise wie oben beschrieben über das Änderungsdatum und die Größe kontrolliert. Bei Ungleichheit bzw. falls die Datei am Ziel nicht existiert wird die korrekte Übertragung über Prüfsummen sichergestellt (auch ohne -c).
Wenn es rein um Performance auf lokalen Datenträgern und mehrfache, inkrementelle Sicherungen geht empfehle ich generell den Blick auf die Option "--link-dest". Dann sind die Dateien nicht nur bitweise gleich, sondern physikalisch identisch (Stichwort Hardlinks). Da braucht man dann gar nichts mehr zu vergleichen.