syncz-0.1.5 is not a library.
Features
- Smart Path Mapping —
~/projects/foosyncs to~/projects/fooon remote, regardless of different home paths - Zero Config — Just run it. No config files needed
- Bi-directional (Default) — Automatically syncs both ways (Newer Wins)
- Watch Mode — Use
--watchto automatically sync on file changes - Advanced Filtering — Sync everything with
--all, or respect--gitignore - Safety — Protect overwritten files with
--backup - SSH Host Picker — Fuzzy-select hosts from
~/.ssh/config - Sensible Defaults — Auto-excludes
.git/,node_modules/,target/,.DS_Store
Installation
Install via crates.io:
Requires
rsyncandsshin your PATH.
Quick Start
# Sync both ways (default)
# Watch for changes and push automatically
# Sync everything (including node_modules, etc.)
# Respect .gitignore and backup overwrites
Usage
syncz [OPTIONS] <PATH> [HOST]
| Option | Description |
|---|---|
--push |
Push from local to remote (disables bidirectional) |
--pull |
Pull from remote to local (disables bidirectional) |
--watch |
Watch for local changes and sync (Push mode) |
--all |
Disable default smart excludes |
--gitignore |
Respect .gitignore file |
--max-size <S> |
Exclude files larger than SIZE |
--backup |
Backup updated files to .syncz-backups |
-d, --dry-run |
Preview changes with tree diff |
--no-perms |
Skip permission sync (useful for macOS/Linux) |
How It Works
- Path Mapping — Translates local paths to remote equivalents relative to
~ - Auto mkdir — Creates missing parent directories on the remote
- SSH Multiplexing — Reuses connections via ControlMaster for speed
- Delta Transfer — Only syncs what's changed
License
MIT