$ no flags memorized. no mistakes.
Rynctl is a free rsync command generator for Linux, macOS, and Unix systems. Select your flags, set your source and destination paths, configure SSH for remote transfers, add exclusions and bandwidth limits — then copy your production-ready rsync command in one click. No account required.
/ rsync will copy the folder itself, creating a subdirectory at the destination.
Start here: -avh is the recommended baseline for most syncs — archive, verbose, human-readable. Add flags as needed.
Fill in the fields above and click Generate.
| Token | Type | Description |
|---|
$ common patterns — click any command to copy it
$ the algorithm, the rules, and the flags that matter
For local transfers, rsync defaults to whole-file copies. For remote transfers, it can compare fixed-size block checksums and send only changed data. This makes incremental backups and updates efficient, especially over slower links.
The single most common rsync mistake. /src/docs/ (with a trailing slash) means "sync the contents of docs" — so files land directly inside the destination. /src/docs (no slash) means "sync the docs folder itself" — so rsync creates a docs/ subdirectory inside the destination. When in doubt, add the trailing slash on the source.
-a actually doesArchive mode (-a) is shorthand for -rlptgoD — it enables recursive traversal, preserves symbolic links, timestamps, permissions, group ownership, owner identity, and device files in a single flag. It does not preserve hard links (-H) or ACLs (-A), and it does not compress (-z). Those require separate flags if you need them.
--delete is dangerousWithout --delete, rsync is additive — it copies new and changed files but never removes anything from the destination. With it, rsync turns the destination into an exact mirror: any file at the destination that no longer exists at the source is permanently deleted. Always run a --dry-run (-n) first to preview what would be removed before committing.
-e flagWhen syncing to or from a remote machine, rsync delegates the transport layer to SSH via -e 'ssh'. You can set -p 2222 for a non-standard port or -i ~/.ssh/id_backup for a specific key. Keep host-key checking enabled; provision known hosts with ssh-keyscan only after verifying the server fingerprint. The remote path uses the user@host:/path format.
--bwlimit=N caps throughput at N kilobytes per second, preventing rsync from saturating a shared link during business hours. Pair it with --partial so interrupted transfers resume from where they left off rather than restarting from the beginning — essential for multi-gigabyte jobs over unstable connections.