Rclone

The Swiss army knife of cloud storage

Files & Sync MIT intermediate ★ 60,041 stars

What is Rclone?

Rclone is a command line program that syncs, copies and mounts files across more than 40 cloud storage providers and any local or network disk. It is the tool people reach for when they want to back up a server to object storage, migrate between cloud drives, or mount a remote bucket as a local folder. Everything runs from a single static binary with no server to maintain.

Best for

Automating backups and migrations between cloud storage providers and a home server

Why choose Rclone

Rclone is one of those tools that quietly becomes part of how you think about files. It talks to dozens of cloud storage services with one consistent command set, so moving data between them stops being a bespoke scripting exercise. It can encrypt a remote so the provider only ever stores unreadable blobs, mount a cloud drive as a local filesystem, and run unattended syncs with bandwidth limits and dry-run previews. For anyone with data spread across providers, it is the connective tissue that makes cloud storage predictable.

Replaces

  • Dropbox
  • Google Drive
  • rsync

Key features

  • Sync, copy and move files across 40+ storage backends
  • Encrypted remotes so the provider never sees plaintext
  • Mount cloud storage as a local filesystem
  • Bandwidth limits, filters and dry-run mode for safe scripting

What to watch out for

It is a command-line tool with a lot of surface area, and sync semantics are the dangerous part: a wrong direction flag on a sync can delete the destination, which is why the dry-run option exists and why you should always use it before a new job. Performance over consumer cloud APIs is bounded by the provider's throttling, and parallel transfers that speed things up can also trigger rate limits. Encrypted remotes are only as safe as your password, and there is no recovery if it is lost.

How to deploy

  • Static binary
  • Docker
  • Linux packages

Getting started

Configure remotes with the interactive setup and name them clearly, then run a listing command on each to confirm access before you do anything else. Always run new copies and syncs with a dry run first, and read the output rather than skimming it. Set sensible bandwidth limits and transfer counts rather than accepting defaults, especially on shared connections. If you use encrypted remotes, write the password down somewhere physical — the encryption is genuinely unrecoverable, and that is a feature until it is a tragedy.

Typical setup

It runs anywhere: a laptop for one-off transfers, a server for scheduled jobs, a NAS for mounting cloud storage as a local folder. People use it to keep an encrypted off-site copy of important data, to move large archives between providers, and to back up servers to object storage on a cron schedule. Serious setups always start with dry runs and keep the job definitions in version control, because a careless sync is the fastest way to lose data.

Who should look elsewhere

Not a tool to hand to someone uncomfortable with a command line, and not a backup system by itself — it copies what you tell it to copy, faithfully, including mistakes. Anyone needing a scheduled, retained, verifiable backup with a restore interface should build that around another tool and use rclone as the transport layer.

Project health

  • GitHub stars: 60,041
  • Last code push: 2026-09-30
  • Open issues: 1,299
  • Status: actively developed

Figures pulled from the GitHub API and refreshed periodically.

Rclone as an alternative

More in Files & Sync