rsync - 仅排除一个与其他名称相似的文件或目录

rsync - 仅排除一个与其他名称相似的文件或目录

我用来rsync将目录传输到另一个位置: rsync -av ./ /var/www/html/some_project --exclude-from=ignore_these.txt

在当前目录中,我有一个名为的子目录testing和一个名为的文件config.json

在当前目录的更深处,我有另一个名为 的子目录testing和另一个名为config.json

我希望rsync转移排除./testing并且./config.json​​但是包括可能存在的所有其他事件。

我正在使用排除文件:

- ignore_these.txt
- testing
- config.json

使用此排除文件,全部 testingconfig.json项目被排除在外。如果我在每个前面加上./then没有任何被排除在外。没有任何东西匹配./testing等等。我不能明确地“包含”子config.json或子testing,因为随着项目的发展,这将无法维护。

如何仅排除位于 CWD 内的文件/目录?

答案1

这应该排除{prova1,prova3}第一级目录中的第一级文件,然后在更深的级别中包含相同的文件:

rsync -av --include={\*/prova1,\*/prova3} --exclude={"prova1","prova3"} aa/ bb/

相关内容