rsync in theory.

Evan Rempel erempel at
Mon Apr 11 16:58:59 MDT 2011

I am looking at add some code to the rsync tool but want to
know if I am "totally out to lunch".

I realize that my example is so trivial that I am sure I will
get replies of "don't do it that way", but bear in mind
that it is just an example, and there are real world cases
where I think this functionality would be useful.

I am trying to figure out if rsync can do something like

cat myfile.dat | rsync - remoteHost:/some/path/myfile.dat

which would take a stream of data and send/store it onto the
remote host.

I don't think that this is possible with the current command line
rsync utility. My questions is more about "can the rsync algorithm
do this?".

Technically, the question boils down to "Is rsync a single pass
algorithm, or is it a multi-pass algorithm?"

If it is a single pass algorithm then all is good.

If it is a multi-pass algorithm then how big of a buffer does it
need to perform the passes? Namely, is it a block by block multi-pass,
or is it a complete file/object multi-pass algorithm.

Any help or pointers to this detail are appreciated.


More information about the rsync mailing list