You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

rsync的--include-from配置未生效,请求排查问题原因

解决rsync同步规则不生效的问题

你的rsync配置和命令存在几个关键问题,导致规则未按预期生效:

核心错误点

  1. 路径匹配逻辑错误:
    你在include配置中使用了系统绝对路径(/home/developer/...),但rsync处理--include-from规则时,是相对于你指定的源目录(/home/developer/)来匹配路径的。这些绝对路径规则根本匹配不到任何文件,导致最后- *的排除规则完全失效,最终同步了所有内容。

  2. 目录递归规则缺失:
    对于.kube这类目录,仅写+ /home/developer/.kube只会匹配目录本身,不会同步其下的子文件和子目录,必须添加递归规则才能完整同步目录内容。

  3. 通配符限制过严:
    save_only_this_folder/*.*只能匹配该目录下带扩展名的文件,会漏掉无扩展名的文件和子目录。

修正后的配置与命令

1. 调整include配置文件(/home/developer/preparation/rsync_include.lst)

+ save_only_this_folder/
+ save_only_this_folder/**
+ .gitconfig
+ .kube/
+ .kube/**
- *

规则说明:

  • + save_only_this_folder/:先允许目标目录本身(rsync需要先匹配目录才能访问其下内容)
  • + save_only_this_folder/**:允许该目录下所有文件、子目录递归同步(若不需要递归,可改为+ save_only_this_folder/*,仅同步一级内容)
  • + .gitconfig:单独指定允许同步的文件
  • + .kube/:允许.kube目录本身
  • + .kube/**:允许.kube目录下所有内容递归同步
  • - *:排除所有未被前面规则匹配的内容

2. 保留原命令(路径逻辑已修正)

rsync -azhv --dry-run --include-from=/home/developer/preparation/rsync_include.lst /home/developer/ /mnt/c/Work/WSL/save/ubuntu20.04/home

测试时保留--dry-run参数确认输出符合预期,之后去掉该参数执行实际同步即可。

内容的提问来源于stack exchange,提问作者aBanhidy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 14:32:49