題 rsync顯示/隱藏過濾規則與include / exclude有何不同?


我正在研究一些強烈的rsync腳本,我真的想了解我可以使用的選項。一般來說,手冊頁是信息的最佳位置,具有密集和精確的散文。一個值得注意的遺漏是對它的描述 show 和 hide 過濾器。它們出現在此表中 FILTER RULES 部分:

排除, -  指定排除模式。
包括,+ 指定包含模式。
合併,。 指定要讀取的合併文件以獲取更多規則。
dir-merge,: 指定每個目錄的合併文件。
隱藏,H 指定用於從傳輸中隱藏文件的模式。
秀,S 與模式匹配的文件不會被隱藏。
保護,P 指定用於保護文件不被刪除的模式。
風險 與模式匹配的文件不受保護。
清楚,! 清除當前包含/排除列表(不採取arg)

唯一的其他參考是在規則修飾符描述部分:

s用於表示該規則適用於發送方。什麼時候
規則影響發送方,它可以防止文件被轉換
ferred。默認情況下,規則會影響雙方,除非
--delete排除  指定了,在這種情況下默認規則成為
僅發送方。另請參閱hide(H)和show(S)規則,它們是一個
指定發送方包含/排除的備用方式。

這似乎表明它們是相同的,但只是發送方。這是唯一的區別嗎?這有什麼影響?它只會影響刪除的處理方式嗎?


7
2017-08-29 23:58


起源


很高興看到完整的選項列表。謝謝 - Felipe Alvarez


答案:


我在這裡找到了一個有用的答案: http://samba.2283325.n4.nabble.com/exclude-vs-hide-td2509204.html

簡而言之,主要區別在於,使用exclude時,文件不會被發送,但會通知接收者存在這樣的文件,如果使用其中一個刪除選項,則不應刪除它。另一方面,當文件被隱藏時,發送者完全忽略它,這意味著接收者沒有關於文件存在的任何信息。

換句話說,當你只是排除一個文件時,它是受保護的,而當你隱藏它時,卻不是。 (除非您使用覆蓋此行為 --delete-excluded。)


10
2018-03-13 10:20