<!-- wp:heading -->
<h2 id="toc_0">前言</h2>
<!-- /wp:heading -->
<!-- wp:paragraph -->
<p>Rclone 是一个的命令行工具,支持在不同对象存储、网盘间同步、上传、下载数据。并且通过一些设置可以实现离线下载、服务器备份等非常实用的功能。本篇文章将讲解 Rclone 常用的一些命令参数。</p>
<!-- /wp:paragraph -->
<!-- wp:heading -->
<h2 id="toc_1">安装 Rclone</h2>
<!-- /wp:heading -->
<!-- wp:heading {"level":3} -->
<h3 id="toc_2">Linux/macOS/BSD</h3>
<!-- /wp:heading -->
<!-- wp:paragraph -->
<p>官方提供了一键安装脚本:</p>
<!-- /wp:paragraph -->
<!-- wp:code -->
curl https://rclone.org/install.sh | sudo bash
<!-- /wp:code -->
<!-- wp:heading {"level":3} -->
<h3 id="toc_3">Windows</h3>
<!-- /wp:heading -->
<!-- wp:paragraph -->
<p>直接下载</p>
<!-- /wp:paragraph -->
<!-- wp:heading -->
<h2 id="toc_4">Rclone 设置</h2>
<!-- /wp:heading -->
<!-- wp:paragraph -->
<p>rclone config
- 进入交互式配置选项,进行添加、删除、管理网盘等操作。详细操作参见:《Rclone 安装配置教程》</p>
<!-- /wp:paragraph -->
<!-- wp:paragraph -->
<p>rclone config file
- 显示配置文件的路径,一般配置文件在 ~/.config/rclone/rclone.conf
</p>
<!-- /wp:paragraph -->
<!-- wp:paragraph -->
<p>rclone config show
- 显示配置文件信息</p>
<!-- /wp:paragraph -->
<!-- wp:heading -->
<h2 id="toc_5">命令语法</h2>
<!-- /wp:heading -->
<!-- wp:code -->
# 本地到网盘
rclone [功能选项] <本地路径> <网盘名称:路径> [参数] [参数] ...
# 网盘到本地
rclone [功能选项] <网盘名称:路径> <本地路径> [参数] [参数] ...
# 网盘到网盘
rclone [功能选项] <网盘名称:路径> <网盘名称:路径> [参数] [参数] ...
<!-- /wp:code -->
<!-- wp:heading {"level":3} -->
<h3 id="toc_6">用法示例</h3>
<!-- /wp:heading -->
<!-- wp:code -->
rclone move -v /Download Onedrive:/Download --transfers=1
<!-- /wp:code -->
<!-- wp:heading -->
<h2 id="toc_7">常用功能选项</h2>
<!-- /wp:heading -->
<!-- wp:list -->rclone copy
- 复制rclone move
- 移动,如果要在移动后删除空源目录,请加上--delete-empty-src-dirs
参数rclone sync
- 同步:将源目录同步到目标目录,只更改目标目录。rclone size
- 查看网盘文件占用大小。rclone delete
- 删除路径下的文件内容。rclone purge
- 删除路径及其所有文件内容。rclone mkdir
- 创建目录。rclone rmdir
- 删除目录。rclone rmdirs
- 删除指定灵境下的空目录。如果加上--leave-root
参数,则不会删除根目录。rclone check
- 检查源和目的地址数据是否匹配。rclone ls
- 列出指定路径下的所有的文件以及文件大小和路径。rclone lsl
- 比上面多一个显示上传时间。rclone lsd
列出指定路径下的目录rclone lsf
- 列出指定路径下的目录和文件- rclone dedupe - 交互式查找重复文件,进行删除/重命名操作。
-n
=--dry-run
- 测试运行,用来查看 rclone 在实际运行中会进行哪些操作。-P
=--progress
- 显示实时传输进度,500mS 刷新一次,否则默认 1 分钟刷新一次。--cache-chunk-size SizeSuffi
- 块的大小,默认5M,理论上是越大上传速度越快,同时占用内存也越多。如果设置得太大,可能会导致进程中断。--cache-chunk-total-size SizeSuffix
- 块可以在本地磁盘上占用的总大小,默认10G。--transfers=N
- 并行文件数,默认为4。在比较小的内存的VPS上建议调小这个参数,比如128M的小鸡上使用建议设置为1。--config string
- 指定配置文件路径,string
为配置文件路径。--ignore-errors
- 跳过错误。比如 OneDrive 在传了某些特殊文件后会提示Failed to copy: failed to open source object: malwareDetected: Malware detected
,这会导致后续的传输任务被终止掉,此时就可以加上这个参数跳过错误。但需要注意 RCLONE 的退出状态码不会为0
。
ERROR
,NOTICE
,INFO
和 DEBUG
。默认情况下,rclone 将生成 ERROR
和 NOTICE
级别消息。</p>
<!-- /wp:paragraph -->
<!-- wp:list -->
-q
- rclone将仅生成ERROR
消息。-v
- rclone将生成ERROR
,NOTICE
和INFO
消息,推荐此项。-vv
- rclone 将生成ERROR
,NOTICE
,INFO
和DEBUG
消息。--log-level LEVEL
- 标志控制日志级别。
--log-file=FILE
选项,rclone 会将 Error
,Info
和 Debug
消息以及标准错误重定向到 FILE
,这里的 FILE
是你指定的日志文件路径。</p>
<!-- /wp:paragraph -->
<!-- wp:paragraph -->
<p>另一种方法是使用系统的指向命令,比如:</p>
<!-- /wp:paragraph -->
<!-- wp:code -->rclone sync -v Onedrive:/DRIVEX Gdrive:/DRIVEX > "~/DRIVEX.log" 2>&1
<!-- /wp:code -->
<!-- wp:heading -->
<h2 id="toc_11">文件过滤</h2>
<!-- /wp:heading -->
<!-- wp:paragraph -->
<p>--exclude
- 排除文件或目录。</p>
<!-- /wp:paragraph -->
<!-- wp:paragraph -->
<p>--include
- 包含文件或目录。</p>
<!-- /wp:paragraph -->
<!-- wp:paragraph -->
<p>--filter
- 文件过滤规则,相当于上面两个选项的其它使用方式。包含规则以 +
开头,排除规则以 -
开头。</p>
<!-- /wp:paragraph -->
<!-- wp:heading {"level":3} -->
<h3 id="toc_12">文件类型过滤</h3>
<!-- /wp:heading -->
<!-- wp:paragraph -->
<p>比如 --exclude ".bak"
、--filter "- .bak"
,排除所有 bak
文件。也可以写作。</p>
<!-- /wp:paragraph -->
<!-- wp:paragraph -->
<p>比如 --include ".{png,jpg}"
、--filter "+ .{png,jpg}"
,包含所有 png
和 jpg
文件,排除其他文件。</p>
<!-- /wp:paragraph -->
<!-- wp:paragraph -->
<p>--delete-excluded
删除排除的文件。需配合过滤参数使用,否则无效。</p>
<!-- /wp:paragraph -->
<!-- wp:heading {"level":3} -->
<h3 id="toc_13">目录过滤</h3>
<!-- /wp:heading -->
<!-- wp:paragraph -->
<p>目录过滤需要在目录名称后面加上 /
,否则会被当做文件进行匹配。以 /
开头只会匹配根目录(指定目录下),否则匹配所目录。这同样适用于文件。</p>
<!-- /wp:paragraph -->
<!-- wp:paragraph -->
<p>--exclude ".git/"
排除所有目录下的.git
目录。</p>
<!-- /wp:paragraph -->
<!-- wp:paragraph -->
<p>--exclude "/.git/"
只排除根目录下的.git
目录。</p>
<!-- /wp:paragraph -->
<!-- wp:paragraph -->
<p>--exclude "{Video,Software}/"
排除所有目录下的 Video
和 Software
目录。</p>
<!-- /wp:paragraph -->
<!-- wp:paragraph -->
<p>--exclude "/{Video,Software}/"
只排除根目录下的 Video
和 Software
目录。</p>
<!-- /wp:paragraph -->
<!-- wp:paragraph -->
<p>--include "/{Video,Software}/**"
仅包含根目录下的 Video
和 Software
目录的所有内容。</p>
<!-- /wp:paragraph -->
<!-- wp:heading {"level":3} -->
<h3 id="toc_14">文件大小过滤</h3>
<!-- /wp:heading -->
<!-- wp:paragraph -->
<p>默认大小单位为 kBytes
,但可以使用 k
,M
或 G
后缀。</p>
<!-- /wp:paragraph -->
<!-- wp:paragraph -->
<p>--min-size
过滤小于指定大小的文件。比如 --min-size 50
表示不会传输小于 50k 的文件。</p>
<!-- /wp:paragraph -->
<!-- wp:paragraph -->
<p>--max-size
过滤大于指定大小的文件。比如 --max-size 1G
表示不会传输大于 1G 的文件。</p>
<!-- /wp:paragraph -->
<!-- wp:quote --><p>TIPS: 博主在实际使用中发现大小过滤两个选项不能同时使用。</p><!-- /wp:quote --> <!-- wp:heading {"level":3} --> <h3 id="toc_15">过滤规则文件</h3> <!-- /wp:heading --> <!-- wp:paragraph --> <p>
--filter-from <规则文件>
从文件添加包含 / 排除规则。比如 --filter-from filter-file.txt
。</p>
<!-- /wp:paragraph -->
<!-- wp:paragraph -->
<p>过滤规则文件示例:</p>
<!-- /wp:paragraph -->
<!-- wp:code -->- secret*.jpg
+ *.jpg
+ *.png
+ file2.avi
- /dir/Trash/**
+ /dir/**
- *
<!-- /wp:code -->
<!-- wp:paragraph -->
<p>这里只举例比较常用和简单的一些过滤用法,更复杂和高端的用法可以查看官方文档。</p>
<!-- /wp:paragraph -->
<!-- wp:heading -->
<h2 id="toc_16">环境变量</h2>
<!-- /wp:heading -->
<!-- wp:paragraph -->
<p>rclone 中的每个选项都可以通过环境变量设置。环境变量的名称可以通过长选项名称进行转换,删除 --
前缀,更改 -
为,大写并添加前缀
RCLONE
。环境变量的优先级会低于命令行选项,即通过命令行追加相应的选项时会覆盖环境变量设定的值。</p>
<!-- /wp:paragraph -->
<!-- wp:paragraph -->
<p>比如设置最小上传大小 --min-size 50
,使用环境变量是 RCLONE_MIN_SIZE=50
。当环境变量设置后,在命令行中使用 --min-size 100
,那么此时环境变量的值就会被覆盖。</p>
<!-- /wp:paragraph -->
<!-- wp:heading {"level":3} -->
<h3 id="toc_17">常用环境变量</h3>
<!-- /wp:heading -->
<!-- wp:list -->
RCLONE_CONFIG
- 自定义配置文件路径RCLONE_CONFIG_PASS
- 若 rclone 进行了加密设置,把此环境变量设置为密码,可自动解密配置文件。RCLONE_RETRIES
- 上传失败重试次数,默认 3 次RCLONE_RETRIES_SLEEP
- 上传失败重试等待时间,默认禁用,单位s
、m
、h
分别代表秒、分钟、小时。CLONE_TRANSFERS
- 并行上传文件数。RCLONE_CACHE_CHUNK_SIZE
- 块的大小,默认5M,理论上是越大上传速度越快,同时占用内存也越多。如果设置得太大,可能会导致进程中断。RCLONE_CACHE_CHUNK_TOTAL_SIZE
- 块可以在本地磁盘上占用的总大小,默认10G。RCLONE_IGNORE_ERRORS=true
- 跳过错误。