Rclone 是一个用于管理云存储上文件的命令行程序。它 是云供应商 Web 存储的功能丰富的替代方案 接口。支持 70 多种云存储产品, rclone 包括 S3 对象存储、业务和消费者文件存储 服务,以及标准传输协议。
Rclone 能挂载任何本地文件、云存储或虚拟文件系统,为 Windows、macOS、linux 和 FreeBSD上的应用,提供以本地文件系统方式的访问,也可通过 SFTP、HTTP、WebDAV、FTP、S3、restic’s REST API、NFS和 DLNA服务方式,提供访问。
作为 Client 快速上手
文件备份与本地挂载,只需要使用Rclone的客户端功能,也是Rclone的核心功能。Rclone是CLI工具,解压就可以使用,下载:Rclone v1.71.0 Windows X64、最新/其他版本
- GUI工具 RcloneBrowser 可以不需要管理员身份,但只实现了Rclone的部分功能。
- WinFSP 需要以管理员权限安装,用于实现自带本地磁盘挂载,不需挂载就不需要安装。
云存储连接的配置
每个云盘、每个Rclone版本,配置步骤与内容都会有差异,不能照搬。具体可看官方的配置步骤,本文中如无特殊说明,都是在Windows CMD中执行。
- 以交互方式的配置向导:
rclone config - 查看当前配置文件的完整路径:
rclone config file,默认为%APPDATA%\rclone\rclone.conf - 查看当前配置文件的内容:
rclone config show - 验证连接配置,查看云存储的目录/文件:
rclone lsd|ls {remoteName}- 注意:{remoteName}是区分大小写的,使用
rclone config查看。
- 注意:{remoteName}是区分大小写的,使用
WebDav的配置步骤参考





使用文本编辑器打开配置文件%APPDATA%\rclone\rclone.conf

查看远程的目录,验证连接配置文件:rclone lsd dav.t725.cn

OneDrive的配置步骤
忘记截图了,后面创建个人client_id时,再补上。
- 先运行
rclone authorize "onedrive",会跳转到oneDrive官方授权网页,成功后得到一个1小时后失效的token,样式如下:
{"access_token":"youraccesstoken","token_type":"Bearer","refresh_token":"yourrefreshtoken","expiry":"2018-08-26T22:39:52.486512262+08:00"}
- 再运行
rclone config
注意:所有 rclone 用户都会共享,rclone 应用的默认的客户端 ID 和密钥。可考虑创建自己的client_id,具体方法见官方文档。
自托管 S3 的配置步骤






rclone 常用全局参数
执行 rclone help flags|more 查看所有全局参数。
| 参数 | 描述 |
|---|---|
--log-file string | 日志记录到文件 |
--log-level LogLevel | 日志记录等级:DEBUG|INFO|NOTICE|ERROR (default NOTICE) |
-n/--dry-run | 试运行,不进行任何更改操作。 |
-P/--progress | 显示实时传输进度 |
-v/--verbose | 显示更多信息 |
--exclude stringArray | 排除特定文件或目录。 files matching pattern |
--include stringArray | 包含特定文件或目录。 files matching pattern |
--filter-from file.txt | 从file.txt文件中获取包含/排除规则,来代替–include/–exclude |
--ignore-case | 默认情况下,rclone 过滤模式区分大小写。 –ignore-case 标志会使命令行上的所有过滤模式不区分大小写。 |
--exclude/--include的书写
--include "/{ConfigBak,Documents,Sysinternals}/**"
解读:包含根目录下 /ConfigBak/、/Documents/、/Sysinternals/的子目录与文件
可使用匹配字符:
/ /开头限制为根目录,无/开头为所有目录或子目录,
* 匹配任意非分隔符(/)字符序列
** 匹配任意字符序列,包括 / 分隔符
? 匹配任意单个非分隔符(/)字符
{ pattern-list } 模式备选项:逗号分隔(无空格)的模式
{{ regexp }} 要匹配的正则表达式
--filter-from file.txt 中 file.txt的内容
- +/-为包含/排除,! 会清除现有规则(在!行之前规则,都无效)。
- 一行一条记录,规则会按照定义的顺序处理。
- 以 # 或 ; 开头的行将被忽略,可用于编写注释,不支持行内注释。
# 一个示例过滤规则文件 filter-file.txt
- secret*.jpg
+ *.jpg
+ *.png
+ file2.avi
- /dir/tmp/** # 警告!此文本将被视为路径的一部分。
- /dir/Trash/**
+ /dir/**
# 排除其他所有内容
- *
解读:
- 包含所有目录下的jpg/png文件、file2.avi文件,但排除secret开头的jpg文件
- 包含根目录中,dir文件夹下的所有文件与子目录,但里面的子目录tmp、Trash是被排除的,含子子目录。
- 除了符合上面的内容外,都被排除。
rclone 常用备份命令
注意:{remoteName}是区分大小写的,使用 rclone config 查看;否则容易报错:2025/09/06 19:46:07 CRITICAL: Failed to create file system for "t725:": didn't find section in config file ("t725")
显示远端path下的文件/目录
rclone lsl/lsd {remoteName}:path --max-depth 1
/path 也可以,支持子目录;注意:lsd不会递归子目录,而lsl会;通过–max-depth N 可以限制递归子目录,或者lsd的N默认为1,而lsl默认-1。
sync:同步(含增删改),或者理解为从左边镜像到右边
可选参数:–create-empty-src-dirs 创建空目录,默认会忽略。
- 同步本地目录或文件,到远端path目录。比如本机日常使用
rclone sync <LOCAL_PATH> {remoteName}:path - 同步远端path目录,到本地。比如本机首次使用
rclone sync {remoteName}:path <LOCAL_PATH> - 同步远端A path目录,到远端B path目录
rclone sync {remoteNameA}:pathA {remoteNameB}:pathB
copy:拷贝(不会删除,且跳过相同的文件)
rclone copy <LOCAL_PATH> {remoteName}:path
同样也支持本地到远端,远端到本地,远端到远端
创建mkdir /删除delete /touch 目录或文件:
rclone mkdir {remoteName}:path
rclone delete {remoteName}:path
rclone touch {remoteName}:path/filename.txt
不仅是远程的目录与文件,也支持本地的目录与文件;touch是不存在新建0字节的文件,存在就是更新修改日期与时间
检查文件或目录(会递归)一致性
rclone check <source> <destination> [flags]
默认是修改时间与大小。–checksum:通过校验和验证文件一致性,适用于支持校验和的存储。–one-way:仅检查源文件是否在目标中存在,而不检查目标中的额外文件。
rclone 挂载为本地目录命令
rclone mount {remoteName}:path /path/to/mountpoint [flags]
- 配合 RunHiddenConsole.exe 使用,rclone mount 会占用 cmd.exe 窗口不关闭。
- 注意:mountpoint 需要是不存在文件夹,会自动创建;或者是Windows中不存在盘符,也可以,Z:\
- 常见flags:
--vfs-cache-mode writes|full --cache-dir D:\Rclone\cache - 卸载:关闭 rclone.exe 进程就可以了,因为Win下没有命令
fusermount -qzu /path/to/mountpoint
示例:
RunHiddenConsole.exe Rclone.exe mount T725: D:\Rclone\T725 --vfs-cache-mode writes --cache-dir D:\Rclone\cache
RunHiddenConsole.exe Rclone.exe mount oneDrive: z: --vfs-cache-mode writes --cache-dir D:\Rclone\cache
不指定--cache-dir,默认使用%LOCALAPPDATA%\rclone,可使用命令rclone config paths查看。
rclone mount vs rclone sync/copy 的区别
rclone mount 本身不是自动同步。它是一个按需访问的机制,更像是一个“实时视图”或“桥梁”,而不是一个同步工具。
您可以将 rclone mount 理解为在您的本地电脑上开了一个“窗口”,透过这个窗口看到的是云存储上的文件。这个窗口本身不会主动把所有文件都搬到本地,也不会主动把本地所有改动立刻传上去。它的工作原理是:
- 按需读取(下载):当您尝试打开、编辑或运行挂载目录中的某个文件时,rclone 才会即时地从云端下载这个文件(或文件的一部分)到本地缓存,然后提供给应用程序。您并不是在直接操作云端文件,而是在操作一个本地缓存副本。
- 延迟写入(上传):当您修改、创建或删除挂载目录中的文件时,这些更改通常不会立即上传到云端。它们会先留在本地缓存中,然后根据您设置的 –vfs-cache-mode 参数来决定何时上传。
例如,设置 –vfs-cache-mode writes 或 full 时,文件会在关闭后才上传(为了兼容更多程序)。这意味着,如果您强行中断挂载(如电脑崩溃),未上传的更改可能会丢失。
| 特性 | rclone mount (挂载) | rclone sync/copy (同步/复制) |
|---|---|---|
| 工作方式 | 按需访问,像一个网络驱动器 | 主动操作,一次性完成任务 |
| 实时性 | 提供实时视图,但写入有延迟 | 命令执行时是一次性的,完成后就不再有关系 |
| 本地空间 | 占用少量缓存空间,访问过的文件会留在缓存中 | 占用全部文件大小的空间(如果是下载) |
| 用途 | 访问和浏览云端文件,像使用本地文件夹一样 | 备份、迁移、镜像数据,确保两端内容一致 |
| 自动化 | 挂载后即可持续使用,但本身不自动同步 | 需要配合定时任务(如 cron)才能实现定期自动同步 |
只有rclone mount需要winfsp支持,rclone sync/copy等其他命令,都不需要winfsp,因为通过云存储服务商提供的 API 来直接进行文件的上传、下载、列表和删除操作。因此,它不需要任何额外的文件系统支持。
Rclone 本身不直接支持实时监听文件变化,rclone sync/copy 都是单向的,而rclone bisync 还是实验性质的双向同步命令。
rclone 所有命令
执行 rclone help 可以看到本内容。
| rclone about | 获取远程存储的配额信息。 |
| rclone authorize | 远程授权(用于 OAuth 等)。 比如 |
| rclone backend | 运行特定于后端(存储类型)的命令。 |
| rclone bisync | 在两个路径之间执行双向同步(实验性)。 |
| rclone cat | 连接(读取)文件并输出到标准输出(stdout)。 |
| rclone check | 检查源和目的地的文件是否匹配。 |
| rclone checksum | 使用 SUM 文件校验目的地文件的一致性。 |
| rclone cleanup | 清理远程存储(如果支持)。 |
| rclone completion | 为指定的 shell 输出自动补全脚本。 |
| rclone config | 进入交互式配置会话。 |
| rclone convmv | 转换文件名和目录名(原地转换)。 |
| rclone copy | 将文件从源复制到目的地,跳过相同的文件。 |
| rclone copyto | 将文件从源复制到目的地,跳过相同的文件(支持不同名称)。 |
| rclone copyurl | 将指定 URL 的内容复制到目的地路径。 |
| rclone cryptcheck | 校验加密远程存储的完整性。 |
| rclone cryptdecode | 返回解密的文件名。 |
| rclone dedupe | 交互式查找重复文件名并删除/重命名它们。 |
| rclone delete | 删除路径中的文件。 |
| rclone deletefile | 从远程删除单个文件。 |
| rclone gendocs | 将 rclone 的 Markdown 文档输出到指定目录。 |
| rclone gitannex | 通过标准输入/输出与 git-annex 交互。 |
| rclone hashsum | 为路径中的所有对象生成哈希校验文件。 |
| rclone help | 显示 rclone 命令、选项和后端的帮助。 |
| rclone link | 生成文件/文件夹的公开链接。 |
| rclone listremotes | 列出配置文件和环境变量中定义的所有远程存储(remotes)。 |
| rclone ls | 列出路径中的对象(包含大小和路径)。 |
| rclone lsd | 列出路径中的所有目录/容器/存储桶(buckets)。 |
| rclone lsf | 以易于解析的格式列出远程:路径中的目录和对象。 |
| rclone lsjson | 以 JSON 格式列出路径中的目录和对象。 |
| rclone lsl | 列出路径中的对象(包含修改时间、大小和路径)。 |
| rclone md5sum | 为路径中的所有对象生成 MD5 校验文件。 |
| rclone mkdir | 如果路径不存在则创建它。 |
| rclone mount | 将远程存储挂载为文件系统到一个挂载点。 |
| rclone move | 将文件从源移动到目的地。 |
| rclone moveto | 将文件或目录从源移动到目的地(支持不同名称)。 |
| rclone ncdu | 基于文本用户界面(TUI)浏览远程存储。 |
| rclone obscure | 生成用于 rclone 配置文件的加密密码。 |
| rclone purge | 删除路径及其所有内容。 |
| rclone rc | 通过远程控制(Remote Control) API 对正在运行的 rclone 实例运行命令。 |
| rclone rcat | 将标准输入(stdin)的内容复制到远程的文件中。 |
| rclone rcd | 运行 rclone 但只监听远程控制命令(无 UI)。 |
| rclone rmdir | 删除路径下的空目录。 |
| rclone rmdirs | 删除路径下的所有空目录。 |
| rclone selfupdate | 更新 rclone 二进制程序本身。 |
| rclone serve | 通过特定协议(HTTP, WebDAV, FTP, SFTP)提供远程存储访问服务。 |
| rclone settier | 更改远程存储中对象的存储类别/层级(Tier)。 |
| rclone sha1sum | 为路径中的所有对象生成 SHA1 校验文件。 |
| rclone size | 打印远程:路径中对象的总大小和数量。 |
| rclone sync | 使源和目的地完全相同,仅修改目的地。 |
| rclone test | 运行测试命令。 |
| rclone touch | 创建新文件或更改文件修改时间。 |
| rclone tree | 以树状形式列出远程存储的内容。 |
| rclone version | 显示版本号 |
发表回复