Unix RSync包含排除规则

Unix RSync包含排除规则,unix,rsync,Unix,Rsync,我需要对给定文件夹实施选择性rsync,其结构如下: random.pdf backup.gz htdocs - api.html - report.xml - otherfile.html folder - private.html 我需要创建一个规则来排除所有PDF、所有XML和每个文件夹,而不是htdocs。也希望包括所有.gz。 因此我提出了以下规则: rsync -azP --delete --exclude="*.pdf" --exclude="*.xml"

我需要对给定文件夹实施选择性rsync,其结构如下:

random.pdf
backup.gz
htdocs
   - api.html
   - report.xml
   - otherfile.html
folder
   - private.html
我需要创建一个规则来排除所有PDF、所有XML和每个文件夹,而不是htdocs。也希望包括所有.gz。 因此我提出了以下规则:

rsync -azP --delete --exclude="*.pdf" --exclude="*.xml" --include="*.gz" --include="htdocs/*" --exclude="*" (...)

不知何故,这条特殊的规则只能让我访问*.gz,我真的不明白为什么htdocs文件夹也不能通过。谁能给我一个提示吗?谢谢

在使用-dry run选项后非常有用,我发现我的表情不是很好。这是错误的

--include="htdocs/*" --exclude="*"
它是由以下代码修复的

--include="htdocs" --exclude="/*"

我仍然不能很好地理解这个解决方案,但它工作得很好。感谢您提供的提示

查看这是否有帮助-您可能还需要查看-exclude from和-include from标志[-exclude from=FILE read exclude patterns from FILE-include from=FILE read include patterns from FILE]如果最后使用-exclude=*,我将无法传递htdocs文件夹: