rsync output question

Linus Hicks lihicks at
Thu Oct 13 17:19:50 GMT 2005

Sameer Kamat wrote:
> Hello,
>      I am synchronizing one ~15GB file over the network. This file from 
> the previous day exists on the destination and I synchronized today's 
> file over. This is the output.
> Number of files: 1
> Number of files transferred: 1
> Total file size: 15919685632 bytes
> Total transferred file size: 15919685632 bytes
> Literal data: 6208029752 bytes
> Matched data: 9711655880 bytes
> File list size: 44
> Total bytes written: 3576325033
> Total bytes read: 433560
> wrote 3576325033 bytes  read 433560 bytes  962140.85 bytes/sec
> total size is 15919685632  speedup is 4.45
> Does the literal data indicate the actual number of bytes it sent over 
> the wire to the destination ? What is Total bytes written ?  This 
> probably has been discussed earlier, but I would really appreciate it if 
> someone could explain it again. On the destination side, I see that a 
> temp file of 15919685632  bytes was constructed. Now if the all of the 
> 15919685632 bytes were not sent over, is this temp file on the server 
> constructed from the existing file on the destination and the changes 
> sent from the source ? Or were the entire 15919685632  bytes sent over ?

I can tell you what I have learned from experience. The "Literal data" is the 
data that doesn't match and needs to be sent to the destination. If you use 
--whole-file-mode, you will notice that "Total file size" and "Literal data" 
have the same value. My guess is that you were using compression, since "Total 
bytes written" is around half of "Literal data", and I believe this figure also 
will include any control information. For such a large file, you may want to try 
using --inplace in which case it won't create the temp file - which as you 
suspect, is constructed from the existing destination file and the data sent 
over the wire.


More information about the rsync mailing list