rsyncing files that might change

Tony Abernethy tony at
Thu Nov 1 01:10:30 GMT 2007

Flames/Cluestick invited if I've got this wrong.
I would expect:
rsync checks blocks on source to see if they are the same.
blocks which seemed to be the same (past tense) are not sent.
blocks which seemed to be different will be sent with whatever the current content of the block happens to be.
there is no check at the end to see that nothing changed in the interim.
There MIGHT be something about file changed during transfer --- but some things big long messy --- you do what you can with what you've got.

Hi, I hope I have not been google-incompetant, but I have been unable to find
an explicit answer a case I am concerned about.

If am rsyncing a file and I have the the following sequence of events happen in
the same second

   1. rsync starts
   2. rsync sends some chunk of data to the other end
   3 a local process modifies the chunk that has just been sent

I have seen statements that rsync does a whole file checksum once the 
transfer is complete - but I couldn't find an explicit statement of whether
this checksum is computed after the transfer has completed.

So, my question - is this case a race condition in which a subsequent 
run of rsync may miss that the file has been modified and hence skip it ?



More information about the rsync mailing list