Original author(s) | Andrew Tridgell, Paul Mackerras[1] |
---|---|
Developer(s) | Wayne Davison[2] |
Initial release | June 19, 1996[1] |
Stable release | 3.3.0[3]
/ 6 April 2024 |
Repository | |
Written in | C |
Platform | Cross-platform |
Type | Data transfer, differential backup |
License | 2007: GPL-3.0-or-later[a][4][5][6] 2007: GPL-3.0-only[b] 2007: GPL-2.0-only[c] 1996: GPL-2.0-or-later[d][7] |
Website | rsync |
rsync (remote sync) is a utility for transferring and synchronizing files between a computer and a storage drive and across networked computers by comparing the modification times and sizes of files.[8] It is commonly found on Unix-like operating systems and is under the GPL-3.0-or-later license.[4][5][9][10][11][12]
rsync is written in C as a single threaded application.[13] The rsync algorithm is a type of delta encoding, and is used for minimizing network usage. Zstandard, LZ4, or Zlib may be used for additional data compression,[8] and SSH or stunnel can be used for security.
rsync is typically used for synchronizing files and directories between two different systems. For example, if the command rsync local-file user@remote-host:remote-file
is run, rsync will use SSH to connect as user
to remote-host
.[14] Once connected, it will invoke the remote host's rsync and then the two programs will determine what parts of the local file need to be transferred so that the remote file matches the local one. One application of rsync is the synchronization of software repositories on mirror sites used by package management systems.[15][16]
rsync can also operate in a daemon mode (rsyncd), serving and receiving files in the native rsync protocol (using the rsync://
syntax).
rsync-website
was invoked but never defined (see the help page).rsync widely used.
Cite error: There are <ref group=lower-alpha>
tags or {{efn}}
templates on this page, but the references will not show without a {{reflist|group=lower-alpha}}
template or {{notelist}}
template (see the help page).