| Crates.io | sy |
| lib.rs | sy |
| version | 0.3.0 |
| created_at | 2025-10-18 20:37:47.014776+00 |
| updated_at | 2026-01-19 17:11:34.836362+00 |
| description | Modern rsync alternative - Fast, parallel file synchronization |
| homepage | |
| repository | https://github.com/nijaru/sy |
| max_upload_size | |
| id | 1889620 |
| size | 1,859,281 |
Modern file synchronization tool - rsync, reimagined
sy /source /destination
That's it. Use sy --help for options.
sy excels at:
rsync is better for:
Bottom line: sy wins on local sync (especially repeated), COW filesystems, and large SSH transfers. rsync has slight edge on incremental SSH updates.
brew tap nijaru/tap
brew install sy
cargo install sy
# Optional features
cargo install sy --features acl # ACL preservation (Linux: requires libacl)
cargo install sy --features s3 # S3 support (experimental)
git clone https://github.com/nijaru/sy.git
cd sy
cargo install --path .
For SSH sync: Install sy on both local and remote machines.
# Basic
sy ~/project ~/backup # Local backup
sy ~/src ~/dest --delete # Mirror (remove extra files)
sy /source /dest --dry-run # Preview changes
# Remote
sy /local user@host:/remote # SSH sync
sy /local user@host:/backup --bwlimit 1MB
# Verification
sy ~/src ~/dest --verify # Verify writes (xxHash3)
sy ~/backup ~/original --verify-only # Audit existing files
# Filters
sy ~/src ~/dest --exclude "*.log"
sy ~/src ~/dest --gitignore --exclude-vcs
# Advanced
sy --bidirectional /laptop /backup # Two-way sync
sy ~/dev /backup --watch # Continuous sync
sy ~/src ~/dest -j 1 # Sequential (many tiny files)
Trailing slash: sy follows rsync semantics —
/sourcecopies the directory,/source/copies contents only.
-j)--verify)| Platform | Status |
|---|---|
| macOS | Fully tested |
| Linux | Fully tested |
| Windows | Untested (should compile) |
Contributions welcome! See CONTRIBUTING.md.
MIT — see LICENSE.