Syncthing的ignore忽略规则配置说明

本文介绍如何在Syncthing中配置文件同步的忽略规则,包括常见匹配符的使用方法及注意事项,帮助用户精确控制哪些文件夹或文件不参与同步。

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

Syncthing服务器间文件同步时,若根目录下子目录或文件不想同步时,可以配置忽略规则。

如下截图,表示根目录/Apache下所有名称为temp、glowroot的文件夹不进行同步。

 

 

说明:

0、匹配规则仅仅是如何匹配,若要匹配文件夹/目录/子目录时,忽略模式中最后不能写/,写了/的表示匹配目录下的子目录/文件。

        请注意,以斜杠结尾的目录模式some/directory/与目录内容匹配,但与目录本身不匹配。如果希望模式与目录及其内容匹配,请确保模式末尾没有/。

1、配置忽略模式时, 忽略规则都是基于文件根目录的,根目录如下图所示:

2、以 // 开始的行,表示该行是注释,不是忽略规则。

3、文件夹/目录名称(如temp)匹配——忽略根目录下所有该文件夹/目录/子目录,即服务器间同步时,配置的该文件夹/目录(temp)不进行同步。

4、* 匹配符——匹配任意个字符,但不包含目录分隔符 \,如te*p,可以匹配temp、teatop、tep等,但不匹配templete\pool。

5、** 匹配符——匹配任意个字符,且包含目录分隔符 \

6、 匹配符—— 一个?匹配一个字符,且不包含目录分隔符 \

7、[ ]匹配符—— 一个[ ]匹配一个区间内的字符,如[a-c],即这个字符可以是a或b或c。

8、{}匹配符——匹配{}中以逗号分隔的一个内容,如{banana,pineapple},即可以匹配到banana或pineapple。

9、\ 转义符——特殊符号(如:*、/ 、\、*、?、[、]、{、}),匹配规则需要特殊匹配时,可以使用到转义符,如\{banana\}可以匹配到{banana} ,当前windows系统不支持。

10、/Apache——只在根目录下匹配,即Apache若为子目录,则匹配不到。

11、#include more-patterns.txt——可以引用外部的规则文件,但是模式本身仍然是相对于文件夹根目录的,且文件不存在或重复引用会报错。

12、匹配符——即大规则下某些文件夹/目录/文件需要同步,!时需要强制扫描整个目录树,但!/Apache不会强制扫描整个目录树。

13、(?i)匹配符——即后面的内容不区分大小写来进行匹配。

14、(?d)匹配符——即删除文件夹/目录时,若文件夹/目录下有被组织删除的文件,可以使用该前缀,表示可被允许删除的文件。

注意:(?d)(?i)可以部分前后进行匹配。

                                                                                                                根目录截图

 

<think>好的,用户的问题是关于如何在Syncthing中限制同步的文件大小。我需要先回想一下Syncthing的功能和设置选项。根据之前的知识,Syncthing本身并没有直接提供一个选项来设置文件大小的限制,但可能有其他方法可以实现类似的效果。 首先,用户的需求是限制同步的文件大小,可能是为了避免大文件占用过多存储空间或带宽。我需要考虑如何通过现有配置或外部工具来实现这一点。记得Syncthing有文件忽略Ignore Patterns)的功能,可以通过正则表达式来排除特定文件。但正则表达式通常用于文件名或路径,而不是文件大小。 不过,可能有一种方法是通过在忽略模式中使用文件大小相关的占位符。查阅Syncthing的文档,发现它确实支持基于文件大小的忽略规则。例如,可以使用`maxFileSize`参数来指定文件大小的上限。用户可以在文件夹的高级设置中的忽略模式里添加类似`maxFileSize:100MB`的规则,这样超过100MB的文件就不会被同步。 接下来,需要验证这个方法的正确性。根据引用[2]提到的Syncthing的高级设置,特别是文件夹配置中的选项,这里提到的文件版本控制和保留策略可能位于同一区域,因此用户可以在那里找到忽略模式的设置。正确的语法应该是使用`maxFileSize`参数,后面跟上大小限制,比如`maxFileSize:1GB`或`maxFileSize:500MB`。 然后,考虑到用户可能需要排除特定大小的文件,步骤应该是进入对应文件夹的编辑页面,找到“Ignore Patterns”选项,输入规则。例如,输入`maxFileSize:200MB`会忽略所有超过200MB的文件。同时,可以结合其他条件,如文件名模式,来更精确地控制。 此外,可能需要提醒用户,这种方法只会在文件被添加或修改时进行检查,已存在的文件可能需要手动处理。另外,使用外部脚本定期清理大文件也是一个补充方法,但需要一定的技术知识。 最后,需要确保回答结构清晰,分步骤说明,并引用相关的参考资料。例如,引用[2]中提到的文件夹高级设置,可以支持这里的配置方法。同时,提醒用户注意语法正确性,比如大小写和空格的问题,避免配置错误。</think>在 Syncthing 中实现文件大小限制的同步控制,可通过以下两种方法实现: ### 方法一:使用内置的忽略规则(推荐) 1. 打开 Syncthing Web 控制台 2. 选择需要设置的文件夹 → 点击「编辑」 3. 在「Ignore Patterns」输入框添加规则: ```bash maxFileSize:200MB # 限制同步文件最大为 200MB ``` *语法说明*: `maxFileSize:<数值><单位>` 支持 B/KiB/MiB/GiB/TiB 单位(注意大小写敏感) 示例:`maxFileSize:500MiB` 表示拒绝同步超过 500MB 的文件 ### 方法二:组合过滤规则 ```bash # 排除所有超过 1GB 的压缩包 maxFileSize:1GiB & (\.zip$|\.rar$|\.7z$) # 允许同步小于 50MB 的 PDF,但拒绝其他大文件 maxFileSize:50MB & !.*\.pdf$ ``` ### 注意事项 1. 规则生效时间:新建/修改文件时触发检查,已存在文件需手动重新扫描 2. 单位换算:1MiB = 1024×1024 Bytes,1MB = 1000×1000 Bytes 3. 高级场景可通过 `stignore` 文件实现动态规则[^2]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值