Support Shortcuts Report a bug

Build your rsync
command.

$ 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.

Paths
Source (local)
Without a trailing / rsync will copy the folder itself, creating a subdirectory at the destination.
Destination (local)
Remote Host
SSH Port (optional)
SSH Key Path (optional)
Flags

Start here: -avh is the recommended baseline for most syncs — archive, verbose, human-readable. Add flags as needed.

Extra Options
Exclude Pattern (optional — space-separated)
Bandwidth Limit (KB/s, optional)
Additional Arguments (optional)
Generated Command
Output format
Fill in the fields above and click Generate.
Token Type Description
Command History

Example Commands

$ common patterns — click any command to copy it

How rsync works

$ the algorithm, the rules, and the flags that matter

The delta-transfer algorithm

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 trailing slash rule

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.

What -a actually does

Archive 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.

Why --delete is dangerous

Without --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.

SSH mode and the -e flag

When 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.

Bandwidth limiting and large transfers

--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.

The complete flag reference lives in the official rsync manual. Read the rsync man page