Feature request: Caching checksums in a file
ML at Bartschnet.de
Sat Nov 22 16:05:58 GMT 2008
when using RSync for mirroring, the checksums of a file are calculated for each transfer. But that
causes a lot of CPU/IO load on the server machine and degrades throughput even if there's plenty
of network bandwidth. So I want to propose a pre-calculating feature for checksums.
The easiest way would be to add a CLI-option like '--pre-checksum' to RSync. That way RSync would
just calculate the checksums per file and per blocks and store them in (a) cache file(s) in
non-daemon mode. In daemon mode RSync would just look for that cache file(s) to avoid superfluous
load recalculating the checksums on each transfer. Pre-calculating the checksums could also be set
in the RSync config file to make the RSync daemon calculating the checksums only once.
That would also allow to use a weak machine as mirror server an pre-calculate the checksums on
another machine (I use RSync on a home router with an fullspeed USB disk and files of 2 GByte size
- calculating the checksums consumes hours without any transfer and I don't wan't to keep a
standard PC running 24h hours a day because of power consumption. But that PC could easily do
checksum pre-calculation before moving the files to the home router/USB-disk combo).
But anyway, RSync is a great tool! ;)
More information about the rsync