# rsync Command Builder

Build local or SSH directory transfers with dry-run, trailing-slash explanations, excludes, bandwidth limits, and guarded deletion.

## URL

https://ilham.dev/tools/rsync-command-builder/

## What It Does

Generate local, SSH upload, and SSH download commands for directory transfers. Dry-run is enabled initially. The builder explains source trailing slashes, exclude patterns, archive mode, compression, checksums, bandwidth limits, and destination deletion. Real --delete commands require an acknowledgement that is reset whenever settings change.

## Features

- Generate local copy and SSH upload or download directory commands
- Enable dry-run by default with a separate preview command
- Explain directory versus contents source trailing-slash behavior
- Require renewed acknowledgement before a real destination-deletion command
- Configure excludes, checksums, compression, and bandwidth limits

## Input

Directory paths, optional SSH endpoint, and transfer settings form input.

## Output

POSIX shell rsync commands text output.

## Privacy

Processing happens locally in the browser.

No input data is uploaded to ilham.dev.

- Requires login: false
- Requires API key: false
- Stores user data: false


## Examples

- What does the trailing slash on the source change?
- Does dry-run avoid connecting to the remote server?
- What does --delete remove?
- What are the SSH-mode requirements?
- Are the directory paths or SSH details stored?


## Limitations

- No connection, filesystem inspection, or command execution
- SSH modes require rsync 3.0+ on both sides and hostname or IPv4 endpoints
- No IPv6 hosts, daemon mode, remote-to-remote transfers, wildcard paths, or file-only copies
- Cannot detect symlink aliases, overlapping trees, missing mounts, or all dangerous paths


## Related Tools

- https://ilham.dev/tools/tar-command-builder/
- https://ilham.dev/tools/ssh-tunnel-builder/


## Questions

### What does the trailing slash on the source change?

For directory sources, a trailing slash copies the contents into the destination. Without it, the named source directory is copied under the destination. This builder controls that slash explicitly and always gives the destination a trailing slash so it is treated as a directory.

### Does dry-run avoid connecting to the remote server?

No. When you run it, a dry-run can connect and authenticate over SSH and read file metadata to calculate changes. It does not perform the normal file transfer or destination deletions. The website itself does not connect or run anything.

### What does --delete remove?

It removes destination-only entries in directories being synchronized. Excluded entries are normally protected because this builder does not generate --delete-excluded. A wrong source, destination, or missing mount can still cause unintended deletion. Review itemized dry-run output first.

### What are the SSH-mode requirements?

rsync 3.0 or later must be available on both sides, along with working SSH access. The generated -s option protects remote arguments from shell reinterpretation. This builder accepts hostnames or IPv4, absolute remote paths, and a restricted local identity-file path; not IPv6 hosts, daemon mode, or remote-to-remote transfers.

### Are the directory paths or SSH details stored?

The tool generates commands locally without saving or uploading its inputs. It does not inspect the filesystem, validate credentials, or read an SSH key file. Enter only the identity file path, never its private-key contents.

