Thanks to visit codestin.com
Credit goes to lib.rs

#file-transfer #rsync #file-sync #backup #cli

bin+lib sy

Modern rsync alternative - Fast, parallel file synchronization

24 releases

0.2.0 Dec 19, 2025
0.1.2 Dec 16, 2025
0.0.65 Nov 25, 2025
0.0.55 Oct 31, 2025

#719 in Filesystem

MIT license

1.5MB
28K SLoC

sy

Modern file synchronization tool - rsync, reimagined

CI License: MIT

Quick Start

sy /source /destination

That's it. Use sy --help for options.

When to Use sy

sy excels at:

  • Repeated syncs (backups, deployments) — 3x faster after first run
  • Large files on APFS/BTRFS/XFS — 40x+ faster via COW reflinks
  • Mixed workloads — 2x faster
  • Bulk SSH transfers — 2-4x faster

rsync is better for:

  • First-time sync of many small files — ~1.3x faster
  • SSH incremental updates — ~1.3x faster

Bottom line: If you sync the same paths repeatedly, sy saves time. If you're doing one-off copies of thousands of tiny files, rsync is faster.

Installation

Homebrew (macOS)

brew tap nijaru/tap
brew install sy

From crates.io

cargo install sy

# Optional features
cargo install sy --features acl    # ACL preservation (Linux: requires libacl)
cargo install sy --features s3     # S3 support (experimental)

From Source

git clone https://github.com/nijaru/sy.git
cd sy
cargo install --path .

For SSH sync: Install sy on both local and remote machines.

Examples

# 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 — /source copies the directory, /source/ copies contents only.

Features

  • Delta sync — Only transfers changed bytes (rsync algorithm)
  • Parallel transfers — Configurable worker count (-j)
  • Resume support — Automatically resumes interrupted syncs
  • Integrity verification — Optional xxHash3 checksums (--verify)
  • Bidirectional sync — Two-way sync with conflict resolution
  • Watch mode — Continuous file monitoring
  • SSH transport — Binary protocol, faster than SFTP for bulk transfers
  • S3 support — AWS S3, Cloudflare R2, Backblaze B2 (experimental)
  • Metadata preservation — Symlinks, permissions, xattrs, ACLs

Platform Support

Platform Status
macOS Fully tested
Linux Fully tested
Windows Untested (should compile)

Contributing

Contributions welcome! See CONTRIBUTING.md.

License

MIT — see LICENSE.

Dependencies

~30–55MB
~809K SLoC