3 releases
Uses new Rust 2024
| new 0.1.2 | Apr 8, 2026 |
|---|---|
| 0.1.1 | Apr 8, 2026 |
| 0.1.0 | Nov 2, 2025 |
#411 in Filesystem
24KB
457 lines
CarSync
CarSync - rsync with cars!
Features
- Fast parallel file synchronization
- Checksum-based comparison for accurate syncing
- Optional deletion of extra files
- Dry-run mode to preview changes
- Progress bars with cat-themed messages
- Memory-mapped I/O for large files
- Optional compression for transfer-heavy workloads
- Delta transfer mode for changed files
Installation
From crates.io
cargo install carsync
From source
git clone https://github.com/Diplo2by/carsync
cd carsync
cargo install --path .
Usage
Basic recursive sync:
carsync -r /source/path /destination/path
Options
-r, --recursive- Crawl through subdirectories recursively-n, --dry-run- Just stalk, don't pounce (preview mode)-v, --verbose- Meow loudly about what's happening-c, --checksum- Compare files by checksum (sniff carefully)-d, --delta- Use delta transfer for changed files (only changed chunks hitch a ride)-z, --compress- Compress file data during transfer--compression-level <LEVEL>- Compression level for--compress(-7to22, default3)--delete- Delete files that don't belong (knock them off the table)
Examples
Sync directories with verbose output:
carsync -r -v ~/Documents ~/Backup/Documents
Preview what would be synced (dry run):
carsync -r -n ~/Photos ~/Backup/Photos
Sync with checksum verification:
carsync -r -c ~/Projects ~/Backup/Projects
Sync with delta transfer (only changed chunks transferred):
carsync -r -d ~/Projects ~/Backup/Projects
Sync and delete extra files in destination:
carsync -r --delete ~/Music ~/Backup/Music
Sync with compression enabled:
carsync -r -z ~/Data ~/Backup/Data
Sync with a custom compression level:
carsync -r -z --compression-level 8 ~/Data ~/Backup/Data
License
This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.
Dependencies
~8–12MB
~208K SLoC