Copy a million files. Send only what changed.
rsync compares the source and the destination first, then transfers only the differences. It is free software for Unix-like systems, and the reason a nightly backup of a large directory does not have to start again from scratch every night.
Current release 3.4.4, 8 June 2026 · What changed · Source on GitHub
This is the whole idea
Point it at a source and a destination — a directory, a remote host over SSH, whatever you're
syncing — and -av is the pair of flags almost everyone reaches for: archive mode,
verbose. rsync compares the two sides first and sends only what's different.
rsync -av source/ destination/
sending incremental file list
sent 4,318,201 bytes received 35 bytes 1,727,294.40 bytes/sec
total size is 18,204,193 speedup is 4.21 Run the exact same command again right after, and the second run is nearly free — anything already at the destination gets skipped, and files that changed rather than appeared get only their changed blocks sent, the technique described in the project's own technical report.
Who it's for
rsync serves three quite different people using the same command. Pick the one that sounds like you — the rest of this site is organised the same way.
- Backups
You want your files in two places
Copy a home folder to an external disk or a spare machine, on a schedule, without re-sending everything each time. This is what most people install rsync for.
Backup recipes → - Servers
You deploy, mirror or migrate
Push a built site to a web server over SSH, pull logs down, mirror a public archive, or move a directory tree between machines and keep the permissions intact.
Deployment recipes → - Building on it
You're bundling rsync into a product
Embedding rsync in something you ship, or distributing a product that includes it, comes with licence terms — rsync's own, and separate ones on the third-party code it bundles.
Licensing & bundling →
Contributing
rsync is a volunteer project. Bugs go to the GitHub tracker, discussion to the mailing list, and security reports to a private address — see how to reach the project.