The rsync utility, which is available for Unix, Linux, OS X, and Microsoft Windows systems, can be used to synchronize files and directories on two systems. Rsync is widely used for mirroring one system to another, for backups, and for copying files and directories. If files to be transferred already exist at the destination system, but are older versions, the tool contains a delta-transfer algorithm that reduces the amount of data that needs to be sent over a network when using it to transfer files to another system over a network; the algorithm allows rsync to send only the differences between source and destination files rather than entire files. By default, rsync determines if files need to be transferred by using a "quick check" algorithm that looks for files that have changed in size or in last-modified time. The utility will copy links and devices and will preserve owner and group permissions on files and directories. Rsync also has an option to exclude specified files and directories from the synchronization operation. It can can use any transparent remote shell, including Secure Shell (SSH) or remote shell (rsh).
[More Info ]