首页/数据/备份与容灾速查/rsync 排除与包含规则

rsync 排除与包含规则

用 --exclude / --include / --exclude-from 控制备份范围:缓存、临时目录与可再生成文件应排除,节省空间并缩短窗口。

备份与容灾速查数据更新于 2026-10-13

rsync 排除与包含规则是什么

用排除与包含选项控制备份范围:缓存目录、临时文件、可再生成内容通常不必进备份,排除它们能节省空间并缩短窗口。规则自上而下匹配、先命中的先生效,因此写法与顺序都会影响最终结果,规则集复杂时建议集中放在文件里统一维护。

基本信息

常用选项排除、包含与从文件读取规则三种形式
匹配顺序自上而下,先命中的规则生效
模式语义是否带斜杠会影响匹配范围
维护建议规则集中放在独立文件,纳入版本管理

常用排除写法

常用排除写法
rsync -a --exclude='*.tmp' --exclude='cache/' --exclude='.git/' /data/ /backup/data/
# 规则集中维护
rsync -a --exclude-from=/etc/backup-exclude.txt /data/ /backup/data/
# 预演确认排除结果符合预期
rsync -avn --exclude-from=/etc/backup-exclude.txt /data/ /backup/data/ | head

包含优先的规则顺序

包含优先的规则顺序
# 规则自上而下匹配,先命中的先生效
- *
+ /important/
+ /important/**
# 说明:先排除全部,再逐条放行需要的目录

规则写法要点

写法含义
带斜杠结尾只匹配目录
不带斜杠可能匹配同名文件与目录
以斜杠开头从传输根目录开始匹配
双星号匹配多层子目录
规则文件每行一条,便于集中维护与复核

使用要点

  • 排除范围要和恢复预期对齐:被排除的密钥与配置若无法再生成,恢复后系统可能无法还原
  • 先预演再上线:规则变更后用预演确认被排除与保留的文件符合预期
  • 规则文件纳入版本管理,改动留痕便于回溯是哪次变更引入了问题
  • 宽泛规则写在后面:把精确规则放前面,避免被一句话全排除掉
  • 定期复核排除清单:新增业务目录后要确认它们没有被旧规则一并排除
排除范围要和恢复预期对齐:被排除的密钥、配置若无法再生成,恢复后系统可能无法还原,排除规则应经过恢复方确认。

易错点

  • 模式是否带斜杠语义不同:带斜杠只匹配目录,不带斜杠还可能匹配同名文件
  • 规则顺序影响结果,宽泛的排除写在前面会把后面的包含规则一并挡掉
  • 排除规则随业务变化过时,新目录被误排除后备份静默缺少关键数据
  • 规则文件丢失或未被纳入备份,恢复时无法复现当时的备份范围

数据来源与参考

  • rsync 手册(FILTER RULES 与 --exclude-from)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌