I use rsync to backup a virtual box disk image (single file, 100 GB) to a remote server and also to a local harddisk. I use btrfs to create snapshots of the old versions of the file. When I use rsync to the remote server, both files are checksummed on the respective devices and then the rsync client only transmits the blocks that have been altered to the server. This results usually in only a few MB of the whole file being written (I use --inplace), and the snapshot only takes a few additional MBs on the server.
When I use rsync locally to my secondary USB 3.0 harddisk, as soon as rsync knows that the files differ, the whole file is written to the harddisk and I need additional 100 GB for the snapshot of the old file.
It would be great when there would be a switch that makes rsync do the same thing it does with a remote server (checksumming both files, transfer only the block that differ) to a local file. It should be disabled by default since the current method of just writing the whole file when a change has been detected is probably faster on most storage systems.
The only workaround I know so far is running a ssh server locally and then do the sync through ssh.
Best regards, Erik
Thanks, I didn't find that option so far, but I assume it does exactly what I am looking for. You may close that report.