rsync rewrites all blocks of large files although it uses delta transfer
krustev at krustev.net
Wed Feb 13 22:26:57 UTC 2019
On Wednesday, February 13, 2019 11:29:44 AM EET Kevin Korb via rsync
<rsync at lists.samba.org> wrote:
> With --backup in order to end up with 2 files it has to write out a
> whole new file.
> Sure, it only sent the differences (normally that means
> over the network but there is no network here) but the writing end was
> told to duplicate the file being updated before updating it.
The copy is needed for the comparison of the blocks as "--inplace" overwrites
the destination file. I've tried without "--backup" but then the delta
transfers too much data - close to the size of the backed-up files.
The copy is in a temp file system which is discarded after the backup (by "rm
-rf"). This temp filesystem is not log structured or copy-on-write so having a
copy there is not a big problem. Although I don't want a backup of all files
which are modified but rather a TMPDIR.
The ideal workflow would be to compare SRC and DST and write changed blocks to
the TMPDIR, then read them from TMPDIR and apply it to DST.
More information about the rsync