| Crates.io | robosync |
| lib.rs | robosync |
| version | 1.0.10 |
| created_at | 2025-07-31 22:18:18.791205+00 |
| updated_at | 2025-08-03 21:53:34.602936+00 |
| description | High-performance file synchronization with intelligent concurrent processing |
| homepage | https://github.com/roethlar/robosync |
| repository | https://github.com/roethlar/robosync |
| max_upload_size | |
| id | 1775824 |
| size | 641,596 |
Lightning-fast file synchronization that just works.
RoboSync combines the battle-tested reliability of RoboCopy and rsync with modern Rust performance. Sync terabytes with confidence using smart strategies that adapt to your workload.
# Arch Linux (AUR) - using yay
yay -S robosync
# Arch Linux (AUR) - using paru
paru -S robosync
# Using Rust's Cargo
cargo install robosync
# Update to latest version
cargo install --force robosync
# Clone and build
git clone https://github.com/roethlar/robosync.git
cd robosync
cargo build --release
# Copy to your PATH
sudo cp target/release/robosync /usr/local/bin/
# Simple copy
robosync /source /destination -e
# Mirror with confirmation
robosync /source /dest --mir --confirm
# Sync to network mount with compression
robosync /local/path /mnt/network/path -e -z
# See what would happen
robosync /source /dest -e -n
robosync ~/ /backup/home/ -e \
--xd ".cache" --xd ".local/share/Trash" \
--xf "*.tmp" --xf ".DS_Store" \
-v --log backup.log
robosync /var/www/ /mnt/server/var/www/ --mir \
--compress \
--retry 3 --wait 5 \
--mt 16
robosync /camera/DCIM/ /photos/2024/ -e \
--min 1048576 \ # Skip files < 1MB
--copy DATSOU \ # Preserve all metadata
--no-report-errors # Photos are already backed up
robosync "C:\Users\Gamer\SavedGames" "D:\Backup\Saves" \
--mir \
--xf "*.log" \
--confirm
| Option | Description |
|---|---|
-e |
Copy all subdirectories (even empty ones) |
-n |
Dry run - preview without changes |
-v |
Verbose - show what's happening |
-z |
Compress during transfer |
--mir |
Mirror mode - make dest exactly like source |
| Option | Description | Example |
|---|---|---|
--xf |
Exclude files | --xf "*.tmp" --xf "*.cache" |
--xd |
Exclude directories | --xd "node_modules" --xd ".git" |
--min |
Minimum file size | --min 1024 (skip < 1KB) |
--max |
Maximum file size | --max 1073741824 (skip > 1GB) |
| Option | Description | Default |
|---|---|---|
--mt |
Thread count | CPU cores |
-b |
Block size for delta | 1024 bytes |
--strategy |
Force specific strategy | mixed |
| Category | Size Range | Strategy | Color |
|---|---|---|---|
| Small | < 256KB | Parallel batch processing | Green |
| Medium | 256KB - 10MB | Platform-optimized APIs | Yellow |
| Large | 10MB - 100MB | Standard copy | Red |
| Delta | > 100MB | Delta transfer algorithm | Cyan |
| Option | Description |
|---|---|
--confirm |
Ask before starting |
--no-report-errors |
Don't create error report |
-r |
Retry count on failures |
-w |
Wait seconds between retries |
Real-world performance on commodity hardware:
| Scenario | Files | Total Size | Time | Throughput |
|---|---|---|---|---|
| Small files (< 1MB) | 100,000 | 12 GB | 45s | 267 MB/s |
| Large files (> 100MB) | 50 | 200 GB | 62s | 3.2 GB/s |
| Mixed workload | 10,000 | 50 GB | 35s | 1.4 GB/s |
| Delta update (10% changed) | 1 | 100 GB | 18s | 556 MB/s |
Tested on NVMe SSD with 16 threads
# Best for many small files
robosync /source /dest --strategy parallel
# Best for large file updates
robosync /source /dest --strategy delta
# Use native tools (rsync/robocopy)
robosync /source /dest --strategy rsync
# Linux: Enable io_uring for maximum performance
robosync /source /dest --strategy io_uring
# Linux: Optimize for many small files
robosync /source /dest --linux-optimized
# Windows: Use native robocopy
robosync C:\source D:\dest --strategy robocopy
RoboSync's error handling adapts to your verbosity level:
# Default: Errors only in report file
robosync /source /dest -e
# -v: Errors on console + report file
robosync /source /dest -e -v
# -vv: Everything on console + report
robosync /source /dest -e -vv
# Disable error reports
robosync /source /dest -e --no-report-errors
RoboSync operates on local and mounted filesystems including network mounts like NFS, SMB/CIFS, and SSHFS. Mount your network drives first, then use RoboSync for blazing fast synchronized transfers.
RoboSync uses a sophisticated strategy selection system:
โโโโโโโโโโโโโโโโโโโ
โ File Analysis โ โ Scan source and destination
โโโโโโโโโโฌโโโโโโโโโ
โ
โโโโโโโโโโผโโโโโโโโโ
โ Strategy Select โ โ Choose based on file sizes
โโโโโโโโโโฌโโโโโโโโโ
โ
โโโโโโโโโโผโโโโโโโโโ
โ Mixed Executor โ โ Run multiple strategies concurrently
โโโโโโโโโโฌโโโโโโโโโ
โ
โโโโโโดโโโโโฌโโโโโโโโโโฌโโโโโโโโโโโ
โผ โผ โผ โผ
[Parallel] [Platform] [Delta] [Native]
We love contributions! Whether it's:
Check out our Contributing Guide to get started.
MIT License - see LICENSE for details.
Standing on the shoulders of giants:
Ready to sync at the speed of light? ๐
See the Installation section above to get started!