I must not be the only one - I'm rsyncing .tar.gz files and notice that every time the full file gets rsynced rather than the differences. Reading into it it seems back in 1999 someone created an algorithm that fixed the issue http://svana.org/kleptog/rgzip.html (only 5% of data needed transferred)

Has this gone anywhere since, how do I create rsync friendly .tar.gz files?

migrated from stackoverflow.com Oct 3 '12 at 6:21

This question came from our site for professional and enthusiast programmers.

up vote 27 down vote accepted

my gzip (on ubuntu and fedora) has the --rsyncable option. So create the tarballs using:

tar -c whatever/ | gzip --rsyncable > file.tar.gz

BeezNest has a pretty good explanation of the rsyncable option for gzip. In the author's test, this option added about 1% to the file size, but made it possible for rsync to transfer the updates to a gzipped file with over 1,300 times speedup.

For the gory details, see this discussion, which they cite.

http://smackerelofopinion.blogspot.com/2009/07/rsyncable-gzip.html

gzip --rsyncable  # need two dashes for long options

I like this one because I wanted to tar.gz it, not just .gz

GZIP='--rsyncable' tar cvzf bobsbackup.tar.gz /home/bob

I know that Ubuntu Linux applies a patch (gzip file) to gzip sources to allow for a --rsyncable flag. You can download that patch and use it yourself, or see if your distribution includes the patch.

Your Answer

 

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.