Rclone 已成为 云存储最全面的工具之一rclone 是一款命令行工具,能够与数十种不同的服务通信,在它们之间复制数据,并将云服务挂载为本地驱动器……而且所有操作都采用加密和高级自动化技术。如果您管理服务器、使用多个云服务,或者只是想拥有可靠的备份,rclone 将彻底改变您的工作方式。
En 本指南 您将学习如何在主流系统上安装 rclone,为 Google Drive、OneDrive、S3 或 B2 等服务配置远程,了解与 rsync 的区别,使用 FUSE 设置云,加密数据,使用 cron 或 systemd 自动备份,以及解决典型的性能、身份验证或 API 限制问题。
rclone是什么?它与rsync有什么区别?
Rclone 是一种 一款开源命令行程序,旨在管理云存储中的文件它支持 70 多个提供商:Google Drive、Google Photos、OneDrive(个人版、企业版和 SharePoint)、Dropbox、Box、MEGA、pCloud、Proton Drive、S3 服务(AWS、Wasabi、Cloudflare R2、Backblaze B2…)、Google Cloud Storage、Azure Blob、WebDAV(Nextcloud、ownCloud)、SFTP/FTP、SMB/CIFS、HTTP 等等。
从概念层面来说,rclone 它将 rsync 的理念扩展到了云端。 它能够同步目录、复制数据并执行单向或双向镜像,同时还能理解云 API、重试机制、带宽限制、缓存以及后端特定的元数据。rsync 主要关注本地路径或 SSH,而 rclone 则能够使用各个云服务提供商 API 的语言进行通信。
主要的实际区别在于侧重点。Rsync 在本地或 SSH 环境中都能很好地工作。 rclone 针对云环境进行了优化。它知道何时利用服务器端复制(直接在存储桶之间复制,而无需经过您的机器),如何将非常大的文件拆分成块,以及如何处理元数据,例如内容类型、权限或版本。
有这样的选项 --multi-thread-streams 或并行传输, rclone 的性能可以轻松比 rsync 高出 4 倍。 在通过网络复制文件时,尤其是在使用支持分块上传的后端服务(例如 S3、GCS、B2 等)时,它的优势更加明显。此外,它还提供透明加密、FUSE 挂载、多远程连接层以及一个小型集成式 HTTP/WebDAV/FTP 服务器。

rclone 的兼容服务和内部架构
El 供应商支持 这是 rclone 的优势之一。实际上,您可以定义任意数量的“远程”:每个远程描述一个连接(例如, gdrive: 用于个人 Google 云端硬盘 onedrive: 适用于 OneDrive for Business s3-backup: 对于 S3 存储桶, nextcloud: 通过 WebDAV 等方式)。
对于最终用户而言,rclone 可以轻松涵盖最常见的云服务。Google 云端硬盘/照片、OneDrive(包括 SharePoint)、Dropbox、Box、MEGA、pCloud、Proton Drive 以及其他注重隐私的服务。这使您可以将以前需要多个应用程序或官方客户端才能完成的任务集中到一个命令中。
在企业和开发环境中,rclone 在整个 S3 领域及类似系统中占据主导地位。Amazon S3 Standard、Google Cloud Storage、Azure Blob Storage、Backblaze B2、Wasabi、Cloudflare R2 以及许多其他兼容的提供商(例如 MinIO、Ceph 等)。它们都使用相同的基本语法进行管理,只需更改远程存储即可。
恩CUANTO一个 自托管协议和系统rclone 支持 SFTP、FTP、WebDAV、SMB/CIFS 甚至 HTTP。这意味着您可以使用它将文件从 SFTP 服务器复制到 S3 存储桶,将数据从 Nextcloud 传输到本地文件夹,或者从 Web 服务器批量下载,而无需任何其他工具。
rclone 内部由多个层组成:一个负责协调操作的核心层(Rclone Core)、一个用于缓存挂载的 VFS 层、一个用于动态加密/解密的 Crypt 层,以及一个用于在需要时对大文件进行分块的 Chunker 层。所有这些层都基于一个通用的后端抽象层,该抽象层隐藏了各个供应商的具体细节。
Windows、Linux 和 macOS 上的系统要求和安装
Rclone 非常轻量级,但了解其基本要求至关重要。它仅需 512 MB 内存即可运行,但对于高强度使用(例如使用缓存挂载、大量并发传输),建议使用 2 GB 或更多内存。CPU 方面,1 个虚拟 CPU 就足够了,但使用多个核心有助于充分利用并行传输。磁盘方面,它启动时需要 100 MB 的可用空间,但如果您打算使用 VFS 缓存,建议至少预留 1 GB 的空间。
在Linux系统上,建议使用较新的内核(理想情况下是5.4+版本,并带有FUSE3内核)。尤其是在你需要将远程目录挂载为文件系统的情况下。至于发行版,只要你拥有 curl 或 wget 以及 sudo 权限,rclone 几乎可以在所有主流发行版(Ubuntu、Debian、Fedora 等)上运行。
Windows 系统上的详细安装说明
在 Windows 系统上,安装 rclone 主要有三种方法。从最可控到最自动化,关键在于最终得到一个 rclone.exe 可从任何控制台(CMD 或 PowerShell)访问。
A) 从官方网站下载手册 (如果您想清楚了解自己正在安装什么,建议这样做):
- 下载适用于您架构的 ZIP 文件。: 例如
rclone-v1.xx.x-windows-amd64.zip对于 64 位。 - 将文件解压缩到一个固定文件夹中, 例如
C:\rclone它将继续留在那里。rclone.exe以及几个文本文件。 - 增加
C:\rclone添加到系统路径 (控制面板 → 系统 → 高级设置 → 环境变量 → 编辑 PATH → 新建 →C:\rclone).
B) 在 Windows 10/11 上使用 Winget 进行安装如果您已经在使用微软程序包管理器,那就非常完美了:
- 安装 rclone:
winget install Rclone.Rclone - 如有必要,请卸载:
winget uninstall Rclone.Rclone --force
C) 对于那些拥有自动化系统软件的人来说,Chocolatey 是个不错的选择。:
- 安装 rclone:
choco install rclone - 如果要挂载驱动器,还需要安装 WinFsp:
choco install winfsp
在 Ubuntu/Debian 和其他 Linux 系统上安装
在 Linux 系统上,最简单且始终保持最新的方法是使用官方脚本。使用一条命令即可下载并安装最新稳定版本(或测试版):
- 稳定版本:
sudo -v ; curl https://rclone.org/install.sh | sudo bash - 测试版:
sudo -v ; curl https://rclone.org/install.sh | sudo bash -s beta
如果您更喜欢完全控制,可以下载该软件包。 .deb 具体 并用……来管理它 dpkg:
- 下载:
wget https://downloads.rclone.org/v1.xx.x/rclone-v1.xx.x-linux-amd64.deb - 安装:
sudo dpkg -i rclone-v1.xx.x-linux-amd64.deb - 如果缺少依赖项:
sudo apt -f install
对于熔断器组件来说,安装至关重要。 fuse3 并允许 allow_other en /etc/fuse.conf取消对应行的注释。之后,通常重启或重新加载服务即可。
在 macOS 上安装
在 macOS 系统上,Homebrew 让一切变得更加轻松。只需几个命令,即可使用 rclone:
- 使用 Homebrew 安装:
brew install rclone - 定期更新
brew upgrade rclone
如果你不想依赖 Homebrew,可以选择手动安装。 下载 macOS ZIP 文件,解压缩,并将二进制文件移动到 /usr/local/bin 就像在 Linux 系统中一样。后续用法也完全相同: rclone version 检查一下一切是否正常。

第一步:基本设置和“远程”概念
rclone 的核心是 配置文件您可以在此处定义遥控器。默认情况下,它位于 ~/.config/rclone/rclone.conf (Linux/macOS)或在指定的路径中 %APPDATA% 在 Windows 系统上,并通过交互式向导进行管理。 rclone config.
每个远程控制都是一个 INI 部分,其中包含连接参数。后端类型、凭据、区域、特殊选项等。以 Google 云端硬盘为例,其配置可能如下: [gdrive] 其 type = drive, scope = drive 以及以 JSON 格式存储的 OAuth 令牌。
要启动向导, 打开终端并运行 rclone config你会看到一个包含多个选项的菜单:创建新遥控器、编辑现有遥控器、删除遥控器、重命名遥控器、加密配置等等。通常情况下,首先要做的是按下…… n 用于“新遥控器”。
以谷歌云端硬盘为例典型的远程创建流程包括以下几个步骤:选择“云端硬盘”类型,决定是否使用自己的客户端 ID(建议使用,以避免受到 Google 的严格限制),选择范围(drive (完整、只读等),在浏览器中使用自动身份验证,并可选择指示是否为共享驱动器。
如果你在一个 没有浏览器的服务器(SSH、VPS、没有图形用户界面的容器), rclone 允许从另一台机器进行授权。当向导询问“使用自动配置吗?”时,回答“否”,rclone 将显示一条命令。 rclone authorize "drive" 您必须在电脑上使用浏览器运行该程序,复制生成的令牌并将其粘贴到服务器的相应字段中。
基本语法、远程路由和基本命令
rclone 的一般语法是 非常一致且易于记忆: rclone [opciones] subcomando origen [destino]子命令可以是 copy, sync, ls, mount, move等等。起点和终点是这种风格的本地或偏远路线。 remote:path/to/dir.
一条路线 /path/to/dir 指向本地文件系统而 remote:path/to/dir 这指的是配置中定义的远程目录下的一个目录。在大多数后端中, remote:/path/to/dir 除了少数特殊情况(FTP、SFTP、Dropbox Business)之外,它们本质上是相同的。 / 改变了含义(根目录与用户主目录)。
最常用的入门级列表命令有: ls, lsl, lsd y tree例如,要查看大小为以下值的 Google 云端硬盘文件夹中的文件: rclone ls gdrive:Documentos仅列出目录: rclone lsd gdrive:如果您想要更直观的树状图: rclone tree gdrive:Proyectos --level 3.
复制文件就像……一样简单 rclone copy origen destino。实际示例:
- 本地 → 云端:
rclone copy C:\Users\usuario\Documents onedrive:backup/documents -P - 云端 → 本地:
rclone copy onedrive:photos C:\Users\usuario\Pictures -P - 云 → 云(尽可能使用服务器端):
rclone copy gdrive:data onedrive:backup -P
子命令 sync 使目的地与出发地相同它会抹去命运中原本已不存在的事物。如果不谨慎使用,它会非常危险,所以一开始,务必配合…… --dry-run 如果你愿意的话, --interactive 进行破坏性操作前需请求确认。
对于双向同步,存在 rclone bisync目前仍处于实验阶段。它可以跟踪双方的变化以保持一致,这在某些离线工作场景中很有用,但在将其用于你的数字生活之前,最好先用非关键数据对其进行彻底测试。
使用 FUSE 和 VFS 缓存将云盘挂载为本地驱动器
rclone 的主要功能之一是 能够像安装硬盘一样安装遥控器这样,您就可以从文件资源管理器浏览云端,直接编辑文档,或者将应用程序(媒体索引器、编辑器等)指向远程路径,而它们并不知道背后有云端。
在 Windows 系统中,挂载可以通过分配驱动器号或创建网络驱动器来实现。。 例如:
- 将 OneDrive 挂载为驱动器 X:
rclone mount onedrive: X: --vfs-cache-mode full - 挂载为网络驱动器:
rclone mount onedrive: X: --network-mode --vfs-cache-mode full
在 Linux 和 macOS 系统中,文件系统中使用挂载点。通常与 FUSE 一起使用:
- 创建目录:
mkdir -p ~/OneDrive - 后台挂载(守护进程):
rclone mount onedrive: ~/OneDrive --vfs-cache-mode full --daemon
这里的关键参数是 --vfs-cache-mode它控制缓存的行为:
off:无缓存,读取性能最大化,但有些应用程序与此兼容性不佳。minimal:基本写入功能正常运行所需的最小缓存。writes缓存写入,稍后再上传,如果您编辑文件但不需要频繁读取缓存,这将非常有用。full:完全读写缓存,建议用于将像真正的磁盘一样使用的挂载点(多媒体、IDE 等)。
对于流媒体服务或媒体库(Plex、Jellyfin 等),通常使用 --vfs-cache-mode full 加上一个不错的缓存大小 (--vfs-cache-max-size, --buffer-size)和充足的保留时间(--vfs-cache-max-age, --dir-cache-time这样服务器就不必不断生成列表了。
图形界面:Rclone Web GUI、Rclone UI 和 RcloneBrowser
尽管 rclone 最初是一个纯粹的命令行工具,但如今 它可以通过多种方式与图形界面一起使用。如果您要将任务委派给不熟悉终端操作的人,或者您只是想要更直观地查看转账情况,那么这非常理想。
该工具本身包含一个实验性的 Web 图形用户界面。,其启动方式如下:
rclone rcd --rc-web-gui --rc-user=admin --rc-pass=password- 然后你将浏览器指向
http://localhost:5572然后你用这个用户名和密码登录。
另外, 有很多非常精良的第三方图形用户界面。Rclone UI 是最全面的选择之一,它是一款适用于 Windows、macOS 和 Linux 的桌面应用程序,支持拖放、任务调度、多任务并发传输和可视化进度条。另一个历史悠久的替代方案是 Rclone Browser,它甚至在 Linux 上以 AppImage 的形式提供,对于许多只需要偶尔进行备份的用户来说,这已经足够了。
如果你是那种经常玩主机游戏,但又不想在手机上遇到太多麻烦的人, Android 上也有一些应用程序集成了 rclone。他们中的许多人直接重复使用了该文件 rclone.conf 您需要在电脑上生成配置文件。只需将该配置文件复制到应用程序指定的路径,您的移动设备上就可以使用遥控器了。
使用加密和配置安全性的透明加密
rclone 的一大吸引力在于 以便在数据离开您的计算机之前对其进行加密。。 后端 crypt 它就像是在另一个远程层之上叠加了一层:你看到的是普通的文件名,但加密后的名称和内容存储在云端。
远程加密的典型配置包括 创建一个新的远程类型 crypt 例如,将其指向来自另一个远程站点的路由: remote = gdrive:encrypted此外,您还可以选择名称加密模式(标准、混淆或关闭),并定义密码(还可以选择第二个“盐”来加强加密)。
一旦创建, 使用远程加密进行操作是完全透明的。如果你这样做 rclone copy /datos/sensibles gdrive-crypt:在 Google 云端硬盘中,您只会看到奇怪的文件名和无法读取的内容。但是,从加密的远程服务器上,您的路径和文件将完全显示出来。
当 rclone 配置文件包含敏感凭据时,应该对其进行保护。rclone 本身允许您加密该文件:在菜单中 rclone config 您可以选择设置配置密码的选项,输入密码后,程序会要求输入该密码才能读取数据。 rclone.conf.
在自动化环境中,您可以使用环境变量提供密码。RCLONE_CONFIG_PASS 或 --password-command这样,脚本、cron 或 systemd 服务就可以在无需手动干预的情况下使用 rclone,但又不会以明文形式显示密码。
自动备份和计划任务
rclone 的真正优势在于定期备份和计划同步。您可以同时使用各个系统的原生调度程序(Windows 中的任务计划程序、Linux 中的 cron、systemd 定时器)和包含通知和清理旧版本的自定义脚本。
在 Windows 系统中,任务计划程序允许您使用特定参数在特定时间启动 rclone。例如,您可以将一个重要文件夹每晚与 OneDrive 同步。您可以将输出结果保存到日志文件中,并在任务失败时启用重试机制。
在 Linux 系统中,最常见的做法是编写一个小型备份脚本并将其添加到 cron 任务中。。 例如,一个 rclone sync /datos/ gdrive-crypt:backups/ 每天下午2点, --log-file, --fast-list 并设置过滤器以排除临时文件或大型日志。
如果你想更进一步,你可以 将 rclone 与 systemd 结合使用,可在启动时挂载远程目录或将备份脚本作为服务和定时器启动。这提供了更大的可见性(日志集成到日志中、网络依赖性控制、故障时自动重启等),在现代系统中通常比 cron 更可取。
rclone 的优点在于它提供了专为严肃备份而设计的标志。: --backup-dir y --suffix 将旧版本发送到历史记录文件夹, --checksum 当后端支持时,与哈希值进行比较。 --max-transfer y --bwlimit 为了避免带宽饱和或超出每日配额,或者 --track-renames 检测已重命名的文件,而不是删除并重新上传它们。
性能优化、高级过滤器和故障排除
当你开始传输数GB或数百万个文件时,细节决定成败。Rclone 提供了一系列性能优化选项: --transfers 调整平行上升/下降的次数, --checkers 用于支票 --multi-thread-streams y --multi-thread-cutoff 用于多线程上传大型文件, --buffer-size 定义 RAM 中缓冲区的大小等等。
对于包含大量小文件的集合,通常增加文件大小是个好主意。 --transfers y --checkers,并添加 --fast-list 在支持高效递归列表的后端中。 确实是的, --fast-list 由于 rclone 会预先保存整个列表,因此会消耗更多内存,所以建议在 RAM 有限的机器上测量并不要过度使用它。
带宽限制由以下方式控制: --bwlimit它甚至还支持时刻表类似这样 --bwlimit "08:00,1M 18:00,off" 它确保办公时间内流畅运行,并在夜间提供高速网络。使用此选项有助于防止备份导致整个办公室的网络连接崩溃。
滤波器是另一个基本支柱: --include, --exclude, --filter-from, --min-size, --max-age等等,您可以具体指定复制哪些内容,不复制哪些内容。精心设计的过滤文件可以节省您数小时不必要的传输时间(例如,通过排除某些文件)。 node_modules, .git缓存、巨型日志等)。
至于常见问题,您大多会遇到 Google 云端硬盘和类似服务的身份验证错误或 API 限制。在这种情况下,建议重新连接遥控器。 rclone config reconnect考虑在 Google 控制台中使用您自己的客户端 ID,并降低并行度和 TPS(--tpslimit)如果您已达到速率限制。
当出现严重问题时,rclone 的调试模式和头文件转储功能会非常有帮助。:启动命令 -vv --dump headers Øincluso --dump bodies (请仔细阅读,因为它非常冗长)它通常会显示后端返回的内容以及原因。如果您怀疑存在错误,请截屏。 -vv 在项目的 GitHub 仓库中提交问题是获得帮助的最快方式。
综上所述,rclone 对于任何每天依赖云存储的人来说都是一个核心工具。无论您是使用 rclone 在多个提供商之间进行加密备份、在媒体服务器上设置 Google Drive、在 S3 存储桶之间迁移数据、自动执行数据库备份,还是仅仅为了防止 Raspberry Pi 的硬盘空间被填满,一旦您掌握了语法和远程访问,它就会成为您想到“这绝对可以用 rclone 完成”时总会想到的工具。
