Write only changed blocks to disk using rsync client only

Matt McCutchen matt at mattmccutchen.net
Sat Dec 6 05:06:46 GMT 2008


On Mon, 2008-11-24 at 07:10 -0800, bjquinn wrote: 
> I understand that if you want to only transfer changed blocks across the
> network that the remote machine must be running rsync server and the local
> machine must be running rsync client.  What if I don't care what gets
> transferred over the network, I just care what gets written to disk (i.e.
> only changed blocks)?  Is there an option to do that in rsync without
> needing an rsync server on the other end?

To expand upon Matthias's response:

The main effect of --inplace is to make rsync update each destination
file by rewriting it in place instead of renaming a new file over it.
However, there is a check so that when the delta-transfer algorithm is
enabled, meaning that information about which blocks are unchanged is
available, rsync will skip writing those blocks to disk.  You'll
probably need to enable the delta-transfer algorithm explicitly with
--no-whole-file because rsync disables it by default when the "network
traffic" that would be optimized is local.

Matt



More information about the rsync mailing list