rsync is a file synchronization and transfer tool that copies data between local and remote systems by sending only the differences between source and destination files. It computes matching blocks using checksums, so only the unmatched portions of files are transmitted, making repeated synchronizations much faster than full copies. The tool preserves file metadata such as ownership, permissions, and modification times during transfers.
rsync supports multiple transfer methods, including direct connections through a dedicated daemon mode or via remote shells like SSH. It can mirror directory trees across systems, optionally deleting files on the receiving side that no longer exist at the source. The tool also handles incremental backups, locally mounted filesystem synchronization, and file transfers over low-bandwidth links. For performance, rsync can accelerate checksum computation using xxHash or OpenSSL, and offers lz4 or zstd compression options to reduce CPU overhead during transfers.
The project provides source code downloads, package manager installations, and a maintained Ubuntu PPA for stable or development snapshots. Documentation is available through HTML versions of man pages, FAQs, tutorials, and technical reports. Community interaction occurs via mailing lists for discussions, announcements, and source-code change notifications, with web-based archives for browsing past messages.