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.
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 configrclone config showrclone listremotesrclone config show remote:rclone config create remote: s3rclone config delete remote:Browse & List 5
rclone lsd remote:rclone ls remote:pathrclone lsl remote:pathrclone tree remote:pathrclone size remote:bucketSync & Copy 6
rclone sync /local remote:bucketrclone copy /local remote:bucketrclone move /local remote:bucketrclone sync remote:bucket /local --dry-runrclone bisync /local remote:bucketrclone copyto src.txt remote:dst.txtFilter & Rules 6
rclone sync /local remote:bucket --include "*.txt"rclone sync /local remote:bucket --exclude "*.log"rclone sync /local remote:bucket --exclude-from rules.txtrclone sync /local remote:bucket --filter-from filter.txtrclone sync /local remote:bucket --max-size 10Mrclone sync /local remote:bucket --ignore-sizeMount & Serve 6
rclone mount remote:bucket /mnt/cloud --vfs-cache-mode fullrclone mount remote:bucket /mnt/cloud --daemonrclone serve http remote:bucket --addr :8080rclone serve sftp remote:bucket --addr :2022rclone serve webdav remote:bucket --addr :8080rclone rcd --rcCrypt & Verify 6
rclone crypt create remote:encrypted remote:plainrclone crypt check remote:encrypted remote:plainrclone check /local remote:bucketrclone dedupe remote:bucketrclone hashsum md5 remote:bucketrclone cleanup remote:bucketParameter matrix
| Parameter | Effect | Example |
|---|---|---|
sync vs copy vs move | sync mirrors and deletes extras on the destination; copy only adds; move deletes the source after transfer | rclone sync /local remote:bucket |
--include / --exclude / --filter-from | Scope a sync: include as whitelist, exclude as blacklist, filter-from reads both kinds from a file | rclone sync /local remote:bucket --exclude-from rules.txt |
--vfs-cache-mode full | Cache remote files locally for mount reads and writes, at the cost of disk and latency | rclone mount remote:bucket /mnt/cloud --vfs-cache-mode full |
--dry-run | Print the planned operations without transferring anything; mandatory before a bulk run | rclone 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
1See exactly what a transfer will do before running it
rclone sync remote:bucket /local --dry-rundry-run prints the plan without executing; check for unwanted deletions, then drop the flag.
2Verify whether both sides really agree
rclone check /local remote:bucketMismatches are listed, which tells you whether --ignore-size or a fresh transfer is needed.
3Investigate duplicates and leftover objects
rclone dedupe remote:bucketIt 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