RoboSync ๐
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.
๐ฏ Why RoboSync?
- ๐๏ธ Blazing Fast: Multi-threaded parallel processing that saturates your storage bandwidth
- ๐ง Smart Defaults: Automatically picks the best strategy for your files - no PhD required
- ๐ Rock Solid: Zero panics, comprehensive error handling, and automatic error reports
- ๐ Cross-Platform: One tool that works everywhere - Linux, macOS, and Windows
- ๐ Real Feedback: Know exactly what's happening with progress bars, ETAs, and detailed logging
โจ Features
โก Performance That Scales
- Concurrent Mixed Processing - Different strategies for different file sizes, all running in parallel:
- Small files (< 1MB): Lightning-fast parallel copies
- Medium files (1-100MB): Platform-optimized APIs
- Large files (> 100MB): Delta transfer with 64KB blocks
- Delta-Transfer Algorithm - Only copy what changed in large files
- Smart Compression - Zstandard and LZ4 for optimal network transfers
- Platform Optimizations - io_uring on Linux, native APIs everywhere
๐ก๏ธ Enterprise-Ready Reliability
- Automatic Error Reports - Never lose track of what failed
- Retry Logic - Configurable retries with exponential backoff
- Metadata Preservation - Timestamps, permissions, ownership, all preserved
- Symlink Support - Handle links your way: copy, follow, or skip
- Network Support - Works with mounted network drives (SMB/NFS/SSHFS)
๐ฎ Developer-Friendly Interface
- RoboCopy Compatible - Your muscle memory still works
- Multi-Level Verbosity - From silent to full debug output
- Dry Run Mode - See what would happen before it does
- Interactive Confirmation - Double-check before big operations
๐ Quick Start
Installation
# Build from source (recommended)
# Copy to your PATH
Your First Sync
# Simple copy
# Mirror with confirmation
# Sync to network mount with compression
# See what would happen
๐ Common Use Cases
๐๏ธ Backup Your Home Directory
๐ Keep Servers in Sync
๐ธ Organize Photos by Date
๐ฎ Sync Game Saves
๐๏ธ Command Reference
Essential Options
| 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 |
File Selection
| 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) |
Performance Tuning
| Option | Description | Default |
|---|---|---|
--mt |
Thread count | CPU cores |
-b |
Block size for delta | 1024 bytes |
--strategy |
Force specific strategy | mixed |
File Size Categories (shown in -v mode)
| 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 |
Safety & Control
| Option | Description |
|---|---|
--confirm |
Ask before starting |
--no-report-errors |
Don't create error report |
-r |
Retry count on failures |
-w |
Wait seconds between retries |
๐ Performance Benchmarks
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
๐ง Advanced Usage
Force Specific Strategies
# Best for many small files
# Best for large file updates
# Use native tools (rsync/robocopy)
Platform-Specific Optimizations
# Linux: Enable io_uring for maximum performance
# Linux: Optimize for many small files
# Windows: Use native robocopy
Error Handling
RoboSync's error handling adapts to your verbosity level:
# Default: Errors only in report file
# -v: Errors on console + report file
# -vv: Everything on console + report
# Disable error reports
๐ Important Notes
Network Transfers
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.
๐๏ธ Architecture
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]
๐ Platform Support
Linux ๐ง
- io_uring support for bleeding-edge performance
- Adaptive thread limits based on system resources
- Native rsync integration when beneficial
macOS ๐
- Optimized for APFS and HFS+
- Conservative threading for system stability
- Full metadata preservation including extended attributes
Windows ๐ช
- Native Win32 APIs for maximum compatibility
- RoboCopy fallback for complex scenarios
- Full NTFS metadata support
๐ค Contributing
We love contributions! Whether it's:
- ๐ Bug reports
- ๐ก Feature requests
- ๐ Documentation improvements
- ๐ Performance optimizations
- ๐งช Test coverage
Check out our Contributing Guide to get started.
๐ License
MIT License - see LICENSE for details.
๐ Acknowledgments
Standing on the shoulders of giants:
- rsync - The grandfather of smart syncing
- RoboCopy - Windows' robust file copier
- Rust Community - For amazing crates like tokio, rayon, and blake3
- You - For choosing RoboSync!
Ready to sync at the speed of light? ๐
See the Installation section above to get started!