2014-12-01 156 views
0

我需要实现选择性rsync将是strucutred这样一个给定的文件夹: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="*" (...) 

不知怎的,这个特殊的规则只让我获得了*。广州我真心想不通为什么htdocs文件夹不会通过为好。任何人都可以给我一个提示吗?谢谢

+2

看看是否有帮助 - http://stackoverflow.com/a/19296415/373151 – 2014-12-01 16:57:22

+0

你可能也想看看--exclude-from和--include-from标志[--exclude -from = FILE从FILE中读取排除模式--include-from = FILE从FILE中读取包含模式] – Jonathan 2014-12-01 17:02:02

+0

如果在最后使用--exclude =“*”,则无法传递htdocs文件夹:s – 2014-12-01 17:47:25

回答

0

使用--dry-run选项(非常有帮助)后,发现我的表情并不好。这是错误的

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

,它是由下面的代码

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

我还是不明白,很好的解决固定的,但它工作正常。感谢提示