rsync“-a”選項是否排除“-A”和“-X”選項?
Rsync 將
-a
or描述--archive mode
為等價於選項。-rlptgoD (no -H,-A,-X)
.
-A
和選項是模棱兩可的-X
,不清楚它們是包含還是排除。
-A
代表--acls
和-X
代表--xattrs
,我想知道它們是否被排除在外,因為它們是在 Unix 文件系統之上添加的功能,儘管您希望存檔備份包含它們。是否有一些關於擴展屬性和訪問控制列表的東西使得將它們包含在存檔備份中是不明智的?
它們是否與使用它們的文件分開儲存,以使它們不適用於存檔備份?
-A 和 -X 選項不明確,不清楚它們是包含還是排除。
測試選項的行為方式應該相對簡單。
創建一個帶有 ACL 的測試文件,使用各種選項和它們的組合複製它,並查看複製的文件是否具有 ACL。(每次複製後刪除目標文件。)
我會為您提供完整的輸出,但通過測試,我發現既沒有
rsync
,也沒有rsync -a
複製 ACL;但所有的rsync -A
,rsync -a -A
並rsync -A -a
複制它。因此,確實
-A
不包含在 中-a
,但-a
也不排除-A
在明確給出時使其不起作用的意義上。-X
工作類似。FWIW,這與我閱讀手冊頁的方式相匹配,這與(關於如何不包括在內的註釋)
-a
完全相同。-rlptgoD``-AX
我想知道它們是否被排除在外,因為它們是在 Unix 文件系統之上添加的功能
至於為什麼
-a
不包含-AX
,我想我們需要詢問開發人員。他們可能認為所討論的功能不夠普遍,無法保證這一點,或者大多數使用者不知道它們是如何工作的,或者嘗試讀取和儲存 ACL 和/或 xattr 會導致錯誤或其他問題在某些系統中。是否有一些關於擴展屬性和訪問控制列表的東西使得將它們包含在存檔備份中是不明智的?
這很難說,並且可能取決於您的案例以及您在 xattrs(和 ACL)中的確切內容。