One application of rsync is the synchronization of software repositories on mirror sites used by package management systems.
[citation needed] It has been ported to Windows (via Cygwin, Grsync, or SFU[19]), FreeBSD,[20] NetBSD,[21] OpenBSD,[22] and macOS.
Similar to cp, rcp and scp, rsync requires the specification of a source and a destination, of which at least one must be local.
It can be used in desktop environments, for example to efficiently synchronize files with a backup copy on an external hard drive.
A scheduling utility such as cron can carry out tasks such as automated encrypted rsync-based mirroring between multiple hosts and a central server.
If the transfer is local (that is, between file systems mounted on the same host) the peer can be created with fork, after setting up suitable pipes for the connection.
If a remote host is involved, rsync starts a process to handle the connection, typically Secure Shell.
Those possibilities allow adjusting security levels to the state of the art, while a naive rsync daemon can be enough for a local network.
As this only requires reading file directory information, it is quick, but it will miss unusual modifications which change neither.
The sender computes the checksum for each rolling section in its version of the file having the same size as the chunks used by the recipient's.
The rdiff-backup script maintains a backup mirror of a file or directory either locally or remotely over the network on another server.
It utilizes librsync to generate delta data against signatures of the previous file versions, encrypting them using gpg, and storing them on the backend.
For performance reasons a local archive-dir is used to cache backup chain signatures, but can be re-downloaded from the backend if needed.
As of macOS 10.5 and later, there is a special -E or --extended-attributes switch which allows retaining much of the HFS+ file metadata when syncing between two machines supporting this feature.
zsync uses the HTTP protocol and .zsync files with pre-calculated rolling hash to minimize server load yet permit diff transfer for network optimization.
[39] Rclone is an open-source tool inspired by rsync that focuses on cloud and other high latency storage.