Uwe Laverenz <uwe@laverenz.de> (Tue Mar 1 05:53:01 2011): > "rsync -c" bzw. in Langform "rsync --checksum" > > Mit dieser Option überträgt rsync nicht die komplette Datei, sondern > bildet blockweise Prüfsummen und überträgt nur die geänderten > Blöcke. Am Schluss verifizieren beide Partner den Erfolg mit einer > Prüfsumme über die komplette Datei. Dieses Verfahren spart Netzlast, > bringt dafür aber I/O- und CPU-Last. Die Blockgröße kann mit der > Option "-B" geändert werden. > > Ohne "-c" würde rsync anhand der Dateigröße und "modification time" > die Änderung der Datei feststellen und diese _komplett_ übertragen. Wo steht, daß ohne -c immer ein kompletter Transfer stattfindet? Ich behaupte mal, daß ohne -c einfach der Identitätstest vereinfacht wird (gleiche Größe, gleiche Timestamps). Und anschließend wird ein ein delta-transfer gemacht. Auch ohne -c prüft Rsync nach dem Transfer die Prüfsummen auf beiden Seiten. :-c, --checksum : This changes the way rsync checks if the files have been changed and are in need of a : transfer. Without this option, rsync uses a "quick check" that (by default) checks if : each file’s size and time of last modification match between the sender and receiver. : This option changes this to compare a 128-bit checksum for each file that has a matching (…) : Note that rsync always verifies that each transferred file was correctly reconstructed on : the receiving side by checking a whole-file checksum that is generated as the file is : transferred, but that automatic after-the-transfer verification has nothing to do with : this option’s before-the-transfer "Does this file need to be updated?" check. Es gibt noch eine --whole-file Option, die den delta-transfer ausschaltet. Diese Option ist default bei lokalen Kopien. Jedenfalls ist das, das, was ich aus der Manpage zu Rsync entnehme. -- Heiko :: dresden : linux : SCHLITTERMANN.de GPG Key 48D0359B : 3061 CFBF 2D88 F034 E8D2 7E92 EE4E AC98 48D0 359B
Attachment:
signature.asc
Description: Digital signature