rclone 过滤,包含和排除规则

本文详细解释了RClone工具中的高级文件同步选项,包括文件类型、目录、大小的过滤规则,以及如何从规则文件中加载过滤条件和最佳实践配置示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

文档:资料

文件类型过滤

比如 --exclude "*.bak",表示排除所有 .bak 结尾的文件,也可以写作 --filter "- *.bak"

比如 --include "*.{png,jpg}",包含所有 pngjpg 文件,排除其他文件,也可以写作 --filter "+ *.{png,jpg}"

--delete-excluded 删除排除的文件。需配合过滤参数使用,否则无效。

目录过滤

目录过滤需要在目录名称后面加上 /,否则会被当做文件进行匹配。以 / 开头只会匹配根目录(指定目录下),否则匹配所目录。这同样适用于文件。

--exclude ".git/" 排除所有目录下的.git 目录。

--exclude "/.git/" 只排除根目录下的.git 目录。

--exclude "{Video,Software}/" 排除所有目录下的 VideoSoftware 目录。

--exclude "/{Video,Software}/" 只排除根目录下的 VideoSoftware 目录。

--include "/{Video,Software}/**" 仅包含根目录下的 VideoSoftware 目录的所有内容。

大小过滤

默认大小单位为 kBytes ,但可以使用 kMG 后缀。

--min-size 过滤小于指定大小的文件。比如 --min-size 50 表示不会传输小于 50k 的文件。

--max-size 过滤大于指定大小的文件。比如 --max-size 1G 表示不会传输大于 1G 的文件。

过滤规则来自某个文件

--exclude-from <规则文件> :从文件添加包含规则

--include-from <规则文件>:从文件添加删除规则

--filter-from <规则文件> :从文件添加包含 / 排除规则。比如 --filter-from filter-file.txt

filter-file.txt 示例:

- secret*.jpg 
+ *.jpg
+ *.png
+ file2.avi
- /dir/Trash/**
+ /dir/**
- *

最佳实践

rclone sync D:\blog oss:tvcdn\blog -u -v -P --transfers=20 --ignore-errors --buffer-size=128M --check-first --checkers=10 --drive-acknowledge-abuse --exclude "/{.git,public,resources}/" --exclude "*.mp4"

这段代码的意思是:

序号操作命令
1同步本地文件夹 D:\blog 到远程 oss:tvcdn\blogrclone sync D:\blog oss:tvcdn\blog
2忽略已存在文件(此参数慎重)--ignore-existing
3仅更新新文件-u
4显示详细进度-v -P
5并发传输数量为 20--transfers=20
6忽略错误--ignore-errors
7缓冲大小为 128M--buffer-size=128M
8在首次同步前检查文件列表--check-first
9使用 10 个检查线程--checkers=10
10启用 Google Drive 滥用确认--drive-acknowledge-abuse
11排除 .gitpublicresources 文件夹--exclude "/{.git,public,resources}/"
12排除所有 *.mp4 文件--exclude "*.mp4"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值