2016-07-07 28 views
0

我願做一個rsync的:在一個分支排除目錄,而不是在其他

rsync master slave 

有下列限制:目錄master/foo/xxx應該被複制被排除,但目錄master/bar/xxx應該被複制。

我不能寫

rsync --exclude xxx master slave 

,因爲這也將排除master/bar/xxx。令我驚訝的是,我也無法使用

rsync --exclude master/foo/xxx master slave 

因爲它複製BOTH xxx目錄(爲什麼?)。

當然我可以恢復到寫兩個的rsync的:

rsync --exclude xxx master slave 
rsync master/bar/xxx slave/bar/xxx 

,但我不知道這是否不能做任何簡單。

回答

1

正確的命令是這樣的:

rsync --exclude /foo/xxx master slave 

包括/排除與/開始規則是相對於轉印(不是文件系統的根)的根。

以其他字符開頭的規則匹配到每個文件名的末尾,因此foo/xxx也可以工作,但可能會匹配目錄樹中某個位置有foo的地方。

您的命令確實是而不是因爲「主」位於傳輸根目錄之外。

相關問題