I execute rsync with the --checksum option on the destination server as follows:

rsync -av --bwlimit=800000 --delete --checksum /mnt/disks/SMB_SRC/ /mnt/user/dst

But as I mounted the source server as SMB share, all files were fully transfered to the destination server to calculate the checksum. Which protocols are needed to enable calculating the source file's checksum on the source server to avoid the transfer of all files? Only rsync daemon (rsync://) or are other protocols supported, too?

1 Answer 1


When both source and destination are "local" paths, it already has to read both sides to calculate a checksum. There's no SMB call to ask for the checksum, so there's no way to reduce the I/O.

One side of the transfer has to be remote to avoid the I/O. The other end doesn't have to have a daemon, but the standard SSH connection would work as well.

$ rsync /localpath /otherlocalpath     # Both sides read.  No checksum comparison
$ rsync /localpath server:/remotepath  # Destination remote
$ rsync server:/remotepath /localpath  # Source remote

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .