Command-line tool to sync, copy and mount files across more than 70 cloud storage providers and local storage, described as rsync for the cloud.
RsyncProject/rsync
A fast, versatile file copying tool that syncs local and remote files by transferring only the differences.
- Stars
- 5,348
- Forks
- 624
- Open issues
- 325
- Last commit
- yesterday
What is it?
Rsync is a command-line file copying tool for both local and remote files. It uses a delta-transfer algorithm to bring remote files into sync by sending only the differences between files across the connection, without requiring both copies to be present on one end beforehand.
Usage is similar to scp, but rsync offers many additional options. It normally communicates with remote systems over ssh or rsh, which is the recommended setup for its security features. It can also run in daemon mode, listening on a socket for anonymous or authenticated file distribution, configured through rsyncd.conf.
The project is written in C and builds with a configure script and make. Its build page lists optional libraries for enabling more features.
Key features
- 01Transfers only changed parts of files using the delta-transfer algorithm.
- 02Works with both local paths and remote systems over ssh or rsh.
- 03Supports a daemon mode for anonymous or authenticated file distribution.
- 04Offers many options for backup and restore workflows.
- 05Requires no special privileges or setuid to install.
Use cases
- Mirroring directories to a remote server over ssh.
- Running incremental backups and restores of files.
- Distributing files publicly through an rsync daemon.
- Synchronizing large file trees where only a few files change.
Quick start
- 1
Run the configure script to generate the Makefile
- 2
Build rsync
make - 3
Install rsync
make install - 4
Show available options
rsync --help
Things to know
- Remote transfers require a working ssh or rsh setup.
- Licensed under the GPL, a copyleft license.
Topics
FAQ
- What is rsync?
- A fast, versatile file copying tool that syncs local and remote files by transferring only the differences. Rsync is a command-line file copying tool for both local and remote files. It uses a delta-transfer algorithm to bring remote files into sync by sending only the differences between files across the connection, without requiring both copies to be present on one end beforehand.
- Is rsync free to use? What license does it have?
- rsync is open source under the Other license. Check the license terms before using it in commercial products.
- Is rsync still maintained?
- Actively maintained. The last commit to rsync was on Nov 6, 2026.
- What can I use rsync for?
- Mirroring directories to a remote server over ssh. Running incremental backups and restores of files. Distributing files publicly through an rsync daemon. Synchronizing large file trees where only a few files change.
- How do I install rsync?
- Run the configure script to generate the Makefile Build rsync: make Install rsync: make install Show available options: rsync --help
- Where can I get rsync?
- The source code and installation instructions are on GitHub: https://github.com/RsyncProject/rsync
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A file transfer tool for SSH terminals that replaces lrzsz (rz/sz) and works inside tmux sessions.
Command-line tool that backs up application config files to a synced folder like Dropbox and restores them on new machines.
Deduplicating backup program with optional compression and authenticated encryption, storing only changed chunks of data.
A lightweight companion container that backs up Docker volumes on a schedule to local directories, S3, WebDAV, Azure, Dropbox, Google Drive or SSH storage.
Portable OpenSSH, the non-OpenBSD port of the SSH suite for secure remote login, command execution and file transfer on Unix-like systems.