精确控制同步内容:OneDrive Client for Linux客户端过滤规则(skip_file/skip_dir)实战

精确控制同步内容:OneDrive Client for Linux客户端过滤规则(skip_file/skip_dir)实战 精确控制同步内容OneDrive Client for Linux客户端过滤规则skip_file/skip_dir实战【免费下载链接】onedriveOneDrive Client for Linux项目地址: https://gitcode.com/gh_mirrors/onedri/onedriveOneDrive Client for Linux 是一款面向 Linux 系统的开源 OneDrive 同步客户端而skip_file与skip_dir过滤规则正是它实现精确控制同步内容的核心能力。无论是阻止临时文件上传云端还是把大型目录排除在同步范围之外都可以通过这两个配置项完成。本文带你从配置文件入手快速掌握 OneDrive 同步过滤规则的写法、匹配逻辑与常见坑点。过滤规则在 OneDrive 同步中的位置OneDrive Client for Linux 默认会把本地sync_dir目录与云端 OneDrive 完整双向同步。当你不希望某些内容参与同步时可以启用**客户端侧过滤Client Side Filtering**规则——所有规则都在本机匹配只有未被规则命中的文件才会参与上传/下载。整体同步活动流如下图所示可以看到过滤检查贯穿于本地扫描与云端对账的每个环节过滤规则的检查顺序重要一个常见疑问是多个过滤配置同时存在时谁先谁后客户端按固定顺序逐级检查本地路径任意一级命中即跳过该项检查顺序依次为.nosync标记文件需开启check_nosyncskip_dotfiles跳过所有点文件/点目录skip_symlinks跳过符号链接skip_dir跳过目录skip_file跳过文件sync_list白名单式选择性同步skip_size跳过超大文件理解这个顺序后你就不必担心规则之间打架——它们是逐层叠加的。skip_file 实战让指定文件不参与同步skip_file用于排除特定文件。它内置了一组默认规则编辑器的临时文件、Vim 交换文件、浏览器半程下载文件等~*|.~*|*.tmp|*.swp|*.partial⚠️关键陷阱如果你在配置文件中自定义skip_file会整体覆盖上述默认值。强烈建议把自己的规则追加在默认规则之后例如skip_file ~*|.~*|*.tmp|*.swp|*.partial|*.bak|never_sync.file匹配语法要点 路径均相对于sync_dir默认~/OneDrive*与?通配符受支持匹配不区分大小写用|分隔多条规则写*.txt表示跳过任意位置的 txt 文件写/Documents/keepass.kdbx带前导/表示只跳过sync_dir根下的精确路径该选项在配置文件中可以写多行效果与用|拼接等价方便按类别分组维护skip_file ~*|.~*|*.tmp|*.swp|*.partial # 保留默认 skip_file *.blah # 自定义规则 skip_file /Documents/keepass.kdbx更完整的参数说明见 application-config-options.md。skip_dir 实战排除整个目录skip_dir用于排除整个目录连同其下所有内容。它支持两种写法写法含义示例单条目无前导/匹配任意层级中名为该名称的目录Desktop完整路径前导/仅跳过sync_dir根下的精确路径/Documents/Visual Studio*示例配置skip_dir Desktop|Documents/IISExpress|Documents/Visual Studio*|cache还有一个进阶选项skip_dir_strict_match设为true后skip_dir条目必须是完整路径才生效适合你只想排除特定位置、而不想同名全杀的场景skip_dir /Projects/work skip_dir_strict_match true参数文档详见 application-config-options.md。常用组合搭配点文件、符号链接与 .nosync除了主角之外还有几个辅助过滤值得了解skip_dotfiles true一键跳过.config、.git等点文件/点目录skip_symlinks true跳过指向同步目录之外的符号链接skip_size 50跳过大于 50MB 的文件单位 MBcheck_nosync true.nosync空文件在任意本地目录放一个.nosync文件即可临时排除该目录改主意时删掉文件即可比改配置更灵活本地新文件参与同步前客户端会先做过滤判定处理流程如下图所示图中checkPathAgainstClientSideFiltering节点即上一节的检查顺序验证与生效修改规则后必须 resync这是新手最容易踩的坑修改skip_file/skip_dir后不会立即自动生效需要执行一次--resync重新同步。推荐先验证、后生效三步走看配置onedrive --display-config确认规则被正确读取干跑测试onedrive --sync --dry-run预演一遍观察哪些文件被Skipping item跳过正式生效onedrive --sync --resync让新规则生效 也可以在命令行用--skip-file/--skip-dir临时传参但注意CLI 传参会替换配置文件中的条目而非追加。resync 的注意事项详见 application-config-options.md。常见问题 FAQQskip_dir 会删除云端已同步的目录吗不会。规则只影响是否继续同步已同步的云端数据保留在 OneDrive 上只是本地不再跟进它的变更。Q只想同步少数目录而不是排除少数目录怎么办使用白名单机制sync_list文件放在~/.config/onedrive/默认排除一切、只同步你列出的路径适合选择性同步场景文档见 usage.md。Q临时文件到底跳没跳过用--dry-run跑一次日志中出现Skipping item - excluded by skip_file之类的字样即表示命中。过滤逻辑的源码实现位于 clientSideFiltering.d架构原理可参考 client-architecture.md。小结配置项作用典型用途skip_file按通配/路径跳过文件排除*.bak、编辑器临时文件skip_dir跳过目录排除node_modules、缓存目录skip_dotfiles/skip_symlinks按类型跳过点文件、符号链接skip_size按大小跳过超大视频、镜像文件.nosync目录级临时开关临时排除某个目录sync_list白名单式选择性同步只同步指定目录掌握skip_file与skip_dir的写法配合--dry-run验证和--resync生效你就能让 OneDrive Client for Linux 只同步真正需要的内容——既省空间又不误传临时文件。【免费下载链接】onedriveOneDrive Client for Linux项目地址: https://gitcode.com/gh_mirrors/onedri/onedrive创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考