Rclone 基础使用

最近在家中部署了飞牛 NAS 来承载本地数据存储需求,之前还在云服务器上搭建了 Alist 用于统一管理各类网盘资源,后来又在 NAS 上加装了 Openlist 进一步拓展文件存储功能。百度发现 Rclone 这个工具不错,写一篇记录一下。

1 Rclone 介绍

Rclone 诞生于 2014 年,是一款开源的跨平台云存储同步工具,支持超过 40 种云存储服务,包括我们熟知的阿里云 OSS、腾讯云 COS、百度网盘、Google Drive、OneDrive 等。其核心功能涵盖文件同步、复制、移动、删除、挂载云存储为本地磁盘等,同时支持数据加密传输与存储、断点续传、批量操作等高级特性。无论是个人用户进行数据备份,还是企业级的大规模数据迁移,Rclone 都能提供高效、稳定的解决方案。与图形化云盘客户端相比,Rclone 虽以命令行为主,但灵活性更高、资源占用更低,且支持脚本自动化操作,适配更多复杂使用场景。

官网地址:https://rclone.org/

logo_on_light__horizontal_color

2 Windows 下的安装与配置

Rclone 下载页面:https://rclone.org/downloads/

image-20251221150534831

根据自己的系统下载所需版本,我主要在 Windows 上用,所以我下载的是 windows-amd64。

下载完成后,解压内容如下:

image-20251221150511066

可以看到默认只有一个 exe 可执行程序,为了方便后续环境变量绑定,这里移动到 D 盘的 Program Files 目录下:

image-20251221150759353

在环境变量中,添加上 rclone.exe 所在的目录位置(D:\Program Files\rclone-v1.72.1-windows-amd64):

image-20251221150917048

在 CMD 中使用 rclone version 验证结果:

image-20251221151013099

3 Rclone 常用命令

3.1 配置远程存储

在使用 Rclone 命令前,需先了解 “远程存储配置” 概念:Rclone 需先配置云存储服务的连接信息(如密钥、令牌等),并为其命名(称为 “远程名称”),后续命令通过 “远程名称” 定位云存储。

配置命令:rclone config

执行该命令后,会进入交互式配置界面,按提示操作即可完成配置,步骤大致如下:

  1. 输入 “n” 新建远程存储配置。
  2. 输入远程名称(如 “baidu” 代表百度网盘),按回车。
  3. 在服务列表中选择对应的云存储服务(如百度网盘对应 “Baidu Netdisk”),输入对应编号,按回车。
  4. 根据提示输入该云存储的认证信息(如百度网盘需扫码登录获取令牌,其他云服务可能需要输入 Access Key、Secret Key 等)。
  5. 配置完成后,输入 “q” 退出配置界面。

这里演示 WebDav 远程存储配置:

image-20251221151316270

image-20251221151721710

image-20251221152229184

image-20251221152250932

使用 rclone ls remote:path 命令进行验证, 其中 “remote:path” 代表云存储中的路径(remote 为远程名称,path 为云存储内的文件夹路径),“local/path” 代表本地文件路径(如 D:\test):

1
2
3
4
5
6
C:\Users\Administrator>rclone ls OpenList:/
2937 docker-compose.yml
93 hexo-blog/.gitignore
28303 hexo-blog/_config.butterfly.yml
3075 hexo-blog/_config.yml
......
  • 简单列表,仅显示文件名和大小:rclone ls remote:path
  • 详细列表,显示文件类型、修改时间等:rclone lsd remote:path
  • 将本地文件或文件夹复制到云存储:rclone copy local/path remote:path
  • 将云存储中的文件或文件夹复制到本地:rclone copy remote:path local/path
  • 使本地路径与云存储路径的文件保持一致(新文件添加、修改文件更新、删除文件同步删除)。
    • rclone sync local/path remote:path(以本地为准同步到云存储)
    • rclone sync remote:path local/path(以云存储为准同步到本地)

[!Note]

除了上述内容外,其他删除挂载操作建议用 WebGui 实现。

3.2 Rclone UI

Rclone 自带简易网页版图形化界面,无需额外安装,通过命令启动后,在浏览器中访问即可操作。

打开 CMD 窗口,输入命令 rclone rcd --rc-web-gui --rc-no-auth,启动后会显示访问地址(默认 http://127.0.0.1:5572):

image-20251221163239417

由于配置了无验证,直接点击 Login 登录:

image-20251221163249628

相比于之前的 rclone config 这里的图形化界面更加友好一些,点击 Create a New Config

image-20251221163303341

输入远程存储名称与类型:

image-20251221163330391

输入远程存储的 URL 与账号密码:

image-20251221163354485

完成后,在 Configs 页面可以看到所有的远程存储配置:

image-20251221163403872

在 Explorer 页面可以进行文件操作:

image-20251221163413652

3.3 配置文件上传

前面提到过,文件上传到 WebDav 的命令格式如下:

1
rclone copy local/path remote:path

这里演示上传本地的 win.ini 文件:

image-20251221164515185

在 Web 页面中查看:

image-20251221164553834

但每次都需要打开 CMD 界面和 Web 页面比较麻烦,这里提供两个脚本(Copy_File.bat 和 Start_Rclone_Gui.bat),豆包写的:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
:: ====================== Copy_File.bat GB2312 ======================
@echo off
chcp 65001 >nul 2>&1 # UTF-8编码,解决中文乱码
title File 同步到 WebDAV

:: ====================== 可配置参数(按需修改)======================
set "LOCAL_DIR=C:\Windows\win.ini" # 本地目录
set "REMOTE_DIR=OpenList:/" # WebDAV远程目录
set "LOG_FILE=%~dp0Copy_File_log.txt" # 日志文件路径
set "RCLONE_PATH=rclone" # rclone路径(已加环境变量则无需改)
:: =====================================================================

echo ==============================================
echo 开始同步 File 到 WebDAV(%date% %time%
echo 本地目录:%LOCAL_DIR%
echo 远程目录:%REMOTE_DIR%
echo 日志文件:%LOG_FILE%
echo ==============================================
echo.

:: 1. 检查本地目录是否存在
if not exist "%LOCAL_DIR%" (
echo [ERROR] 本地目录不存在:%LOCAL_DIR%
echo [ERROR] 同步终止 → %date% %time% >> "%LOG_FILE%"
pause
exit /b 1
)

:: 2. 检查rclone是否可用并显示版本(排查版本问题)
echo 正在检查rclone版本...
%RCLONE_PATH% version >> "%LOG_FILE%" 2>&1
if errorlevel 1 (
echo [ERROR] 未找到rclone!请确认已安装并添加到系统环境变量
echo [ERROR] rclone未找到 → %date% %time% >> "%LOG_FILE%"
pause
exit /b 1
)

:: 3. 执行同步命令(单行写法,适配所有rclone版本,无语法错误)
echo 正在执行同步...
%RCLONE_PATH% copy "%LOCAL_DIR%" "%REMOTE_DIR%" --progress --transfers=16 --checkers=32 --retries=3 --timeout=30s

:: 4. 同步结果判断
if errorlevel 1 (
echo.
echo [ERROR] 同步失败!请查看日志文件:%LOG_FILE%
echo [ERROR] 同步失败 → %date% %time% >> "%LOG_FILE%"
pause
exit /b 1
) else (
echo.
echo [SUCCESS] 同步完成!
echo [SUCCESS] 同步完成 → %date% %time% >> "%LOG_FILE%"
)

echo.
echo 3秒后自动关闭窗口...
timeout /t 3 /nobreak >nul
exit /b 0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
:: ====================== Start_Rclone_Gui.bat UTF-8 ======================
@echo off
chcp 65001 >nul 2>&1
title Rclone Web GUI 启动脚本
color 0A

:: ===================== 配置区域 =====================
:: 如果你知道 rclone.exe 的完整路径,可以在这里指定,例如:set "RCLONE_PATH=C:\rclone\rclone.exe"
set "RCLONE_PATH=rclone.exe"
:: ====================================================

echo.
echo ================================
echo Rclone Web GUI 启动脚本
echo ================================
echo.

:: 检查 rclone 是否可用
echo [INFO] 正在检查 rclone 是否安装...
where /q %RCLONE_PATH%
if errorlevel 1 (
echo [ERROR] 未找到 rclone,请确保:
echo 1. rclone 已正确安装
echo 2. rclone 已添加到系统环境变量
echo 3. 或在脚本中手动指定 RCLONE_PATH 路径
pause
exit /b 1
)
echo [SUCCESS] rclone 检查通过!
echo.

:: 执行 rclone rcd 命令
echo [INFO] 正在启动 Rclone Web GUI...
echo [INFO] 命令:rclone rcd --rc-web-gui --rc-no-auth
echo [INFO] 启动后可通过浏览器访问:http://127.0.0.1:5572
echo [INFO] 按 Ctrl+C 可停止服务
echo.
%RCLONE_PATH% rcd --rc-web-gui --rc-no-auth

:: 捕获命令执行错误
if errorlevel 1 (
echo.
echo [ERROR] Rclone 启动失败!
pause
exit /b 1
)

echo.
echo [INFO] Rclone 服务已正常退出
pause

验证脚本:

image-20251221165433101

image-20251221165254180