Linux

在保留 POSIX ACL 和權限的同時備份數據

  • April 23, 2013

我正在尋找一種實用的方法來從伺服器備份數據並保留所有 ACL 和權限。我看過 tar,但根據Google tar 不保留 ACLs 。我知道 rsync 可以保留 ACL 和權限,但前提是目標系統支持 POSIX ACL 並且具有相同的使用者。就我而言,我正在備份到位於 AFS 上的目錄,因此不支持 POSIX ACL。

目前我已經通過編寫一個腳本來解決這個問題,該腳本使用 find 在系統中遞歸(我使用 find 是因為我要排除一些目錄)並將權限和 ACL 保存到文本文件中。此解決方案有效,但速度非常慢。有更好的解決方案嗎?

apt-get install star
man star
star -acl -whatever -other -options -you -need

Star 是支持擴展 POSIX 標頭的 tar,也就是說,能夠在 tar 文件中儲存有關文件的一些額外數據。該-acl選項獲取 ACL;您需要它來創建和提取檔案。

如果您不想安裝其他程序,可以單獨備份 ACL:

getfacl -R somedir > acls.txt

這會將所有 ACL 轉儲somedir到文件acls.txt中。

要恢復,請使用:

setfacl -R --set-file=acls.txt somedir

引用自:https://serverfault.com/questions/39958