rclone Cheatsheet - Cloud Storage Sync, Copy & Check

rclone speaks to S3, object stores, cloud drives and plain local directories with one command set. Setup means defining named remotes, after which every path is written as remote:path. The part that needs judgement is verb semantics: copy adds without removing, sync makes the destination identical to the source and deletes whatever is extra there, and move also removes the local side. Mis-picking sync is often irreversible, so run --dry-run first, review the file list, then add -v or --stats to watch throughput while it runs. The sheet groups remote configuration, browsing and listing, sync and copy, include and exclude rules, mounting and serving, and crypt plus checksum options. Mounting depends on a fuse implementation, and random writes against a mounted remote generally need --vfs-cache-mode set appropriately. Throttling with --bwlimit and --transfers keeps a backup from saturating an office link, checksum verification catches silent corruption, and serve or mount expose a remote as a local path when downstream tools cannot speak the protocol natively.

SysOps·35 commands·Last updated 2026-07-21
rcloneCloud StorageSyncBackup

Typical Use Case

For operators and data engineers moving data between a local directory and object storage (S3, drives, and other remotes). This sheet sorts rclone into four layers: configuration (config / crypt create / config show), inspection (lsd / ls / tree / size / check / dedupe / hashsum), transfer (sync / copy / move / copyto / bisync with the include, exclude and filter rules), and exposure (mount / serve http / serve sftp / serve webdav / rcd). It fits migrations and backups, mounting cloud drives, and validating sync scope with --dry-run before committing to a real run.

Config & Connect 6

rclone config
Interactive remote config
rclone config show
Show all remote configs
rclone listremotes
List configured remote names
rclone config show remote:
Show a remote's config
rclone config create remote: s3
Create a remote non-interactively
rclone config delete remote:
Delete a remote config

Browse & List 5

rclone lsd remote:
List dirs under a remote root
rclone ls remote:path
Recursively list all remote files
rclone lsl remote:path
List files with size and mtime
rclone tree remote:path
Show remote dirs as a tree
rclone size remote:bucket
Sum remote size and file count

Sync & Copy 6

rclone sync /local remote:bucket
Sync local to remote (one-way, deletes extras)
rclone copy /local remote:bucket
Copy to remote (keeps target files)
rclone move /local remote:bucket
Move to remote (deletes source after)
rclone sync remote:bucket /local --dry-run
Dry-run to preview a sync
rclone bisync /local remote:bucket
Two-way sync of two dirs
rclone copyto src.txt remote:dst.txt
Copy and rename a single file

Filter & Rules 6

rclone sync /local remote:bucket --include "*.txt"
Sync .txt files only
rclone sync /local remote:bucket --exclude "*.log"
Exclude .log files
rclone sync /local remote:bucket --exclude-from rules.txt
Read exclude rules from a file
rclone sync /local remote:bucket --filter-from filter.txt
Read filter rules from a file
rclone sync /local remote:bucket --max-size 10M
Sync files smaller than 10M
rclone sync /local remote:bucket --ignore-size
Ignore size, compare by time only

Mount & Serve 6

rclone mount remote:bucket /mnt/cloud --vfs-cache-mode full
Mount remote as a local dir (full cache)
rclone mount remote:bucket /mnt/cloud --daemon
Mount as a daemon
rclone serve http remote:bucket --addr :8080
Serve remote files over HTTP
rclone serve sftp remote:bucket --addr :2022
Serve remote files over SFTP
rclone serve webdav remote:bucket --addr :8080
Serve remote files over WebDAV
rclone rcd --rc
Start the remote-control API

Crypt & Verify 6

rclone crypt create remote:encrypted remote:plain
Create an encrypted remote
rclone crypt check remote:encrypted remote:plain
Check an encrypted remote
rclone check /local remote:bucket
Check source vs target consistency
rclone dedupe remote:bucket
Find and handle duplicate files
rclone hashsum md5 remote:bucket
Compute remote file MD5 hashes
rclone cleanup remote:bucket
Clean up leftover remote files

Parameter matrix

ParameterEffectExample
sync vs copy vs movesync mirrors and deletes extras on the destination; copy only adds; move deletes the source after transferrclone sync /local remote:bucket
--include / --exclude / --filter-fromScope a sync: include as whitelist, exclude as blacklist, filter-from reads both kinds from a filerclone sync /local remote:bucket --exclude-from rules.txt
--vfs-cache-mode fullCache remote files locally for mount reads and writes, at the cost of disk and latencyrclone mount remote:bucket /mnt/cloud --vfs-cache-mode full
--dry-runPrint the planned operations without transferring anything; mandatory before a bulk runrclone sync remote:bucket /local --dry-run

Common pitfalls

SymptomFiles already on the destination disappear after running sync.

Causesync is a mirroring operation and deletes destination files that are absent from the source.

FixRun rclone sync remote:bucket /local --dry-run first to read the plan; use copy when you only add files.

SymptomRepeated syncs re-transfer huge numbers of files and run far slower than expected.

CauseMtime or size metadata does not match, so rclone considers files changed (common across transports).

FixAdd --ignore-size to compare times only, or run rclone check /local remote:bucket to find genuinely different files.

SymptomAfter mounting, reads and writes crawl and local disk fills up quickly.

CauseThe vfs cache mode decides how much remote content lands locally; full caches the most aggressively.

FixSwitch to a lighter mode such as --vfs-cache-mode writes, cap the cache directory, and clear leftovers with rclone cleanup remote:bucket.

SymptomAuth errors, or the remote name is reported as not found.

CauseThe remote path must use the remote:path form, or the running user cannot read that rclone config.

FixConfirm the name with rclone listremotes, then check its config with rclone config show remote:.

Troubleshooting

  1. 1See exactly what a transfer will do before running it

    rclone sync remote:bucket /local --dry-run

    dry-run prints the plan without executing; check for unwanted deletions, then drop the flag.

  2. 2Verify whether both sides really agree

    rclone check /local remote:bucket

    Mismatches are listed, which tells you whether --ignore-size or a fresh transfer is needed.

  3. 3Investigate duplicates and leftover objects

    rclone dedupe remote:bucket

    It interactively lists suspected duplicates for you to pick a winner; clear leftovers with rclone cleanup remote:bucket.

Tips

  • sync is one-way and deletes extras; copy is safer (no deletes).
  • mount needs FUSE (macFUSE/macOS, fuse3/Linux); add --vfs-cache-mode full.
  • rclone resumes interrupted big-file transfers.
  • --progress shows live speed; --verbose gives detailed logs.
  • --transfers N sets concurrent file count.
  • --bwlimit 1M caps bandwidth to avoid saturating the network.

Official References

Each command links to its official documentation below, so you can verify the latest usage and read deeper.

Maintained by LaoHand

Publicly updated on Jul 21, 2026, continuously proofread against official docs.

Contact Us

Wrong command or description? Send us corrections, business inquiries or product feedback by email.

Contact Us