2014-12-01 113 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="/*" 

我還是不明白,很好的解決固定的,但它工作正常。感謝提示