Rsync

related topics
{system, computer, user}
{math, number, function}

rsync is a software application for Unix systems which synchronizes files and directories from one location to another while minimizing data transfer using delta encoding when appropriate. An important feature of rsync not found in most similar programs/protocols is that the mirroring takes place with only one transmission in each direction. rsync can copy or display directory contents and copy files, optionally using compression and recursion.

In daemon mode, rsync listens on the default TCP port of 873, serving files in the native rsync protocol or via a remote shell such as RSH or SSH. In the latter case, the rsync client executable must be installed on both the local and the remote host.

Released under the GNU General Public License, rsync is free software. It is widely used.[3][4][5][6]

Contents

Algorithm

The rsync utility uses an algorithm invented by the Australian computer programmer Andrew Tridgell for efficiently transmitting a structure (such as a file) across a communications link when the receiving computer already has a different (but similar) version of the same structure.

The recipient splits its copy of the file into fixed-size non-overlapping chunks and computes two checksums for each chunk: the MD4 hash, and a weaker 'rolling checksum'. It sends these checksums to the sender. Version 30 of the protocol (released with rsync version 3.0.0) now uses MD5 hashes rather than MD4.[7]

Full article ▸

related documents
GNU Privacy Guard
Parrot virtual machine
DEFLATE
Wikipedia:Free On-line Dictionary of Computing/L - N
Byte
ReiserFS
Talker
Ext2
Blitz BASIC
Software bug
GNU Debugger
Baudot code
Subversion (software)
Machine code
Locality of reference
Cyrix 6x86
List of ad-hoc routing protocols
Microsoft Access
IPsec
BBC BASIC
Lotus Symphony
Bit
Traceroute
Digital signal
NewtonScript
Web server
Analog computer
Gecko (layout engine)
Plug-in (computing)
Routing table