rsync

This article was first written in February 2005 for the BeezNest technical
website (http://glasnost.beeznest.org/articles/205).
rsync is a synchronization tool designed with powerful algorithms to only transfer the minimum needed between source and destination. Quoting the above web page: rsync is an open source utility that provides fast incremental file transfer.

References:

For a basic explanation of the rsync algorithm, go

Rsyncable gzip

This article was first written in February 2005 for the BeezNest technical
website (http://glasnost.beeznest.org/articles/206).

GZIP="--rsyncable" tar zcvf toto.tar.gz /toto
Why do you need this special option ? Because if you compress your files before synchronising them with rsync, a very small change in one original file may force rsync to re-transmit the whole compressed tar.gz file, instead of just the changed portion. The basic reason is that rsync works at the byte level : very roughly, it compares the old copy of the file with the latest source, and transmits every by