我正在寻找一种实用的方法来从服务器备份数据并保留所有 ACL 和权限。我看过 tar,但根据谷歌 tar 不保留 ACLs 。我知道 rsync 可以保留 ACL 和权限,但前提是目标系统支持 POSIX ACL 并且具有相同的用户。就我而言,我正在备份到位于 AFS 上的目录,因此不支持 POSIX ACL。
目前我已经通过编写一个脚本来解决这个问题,该脚本使用 find 在系统中递归(我使用 find 是因为我要排除一些目录)并将权限和 ACL 保存到文本文件中。此解决方案有效,但速度非常慢。有更好的解决方案吗?
Star 是支持扩展 POSIX 标头的 tar,也就是说,能够在 tar 文件中存储有关文件的一些额外数据。该
-acl
选项获取 ACL;您需要它来创建和提取档案。如果您不想安装其他程序,可以单独备份 ACL:
这会将所有 ACL 转储
somedir
到文件acls.txt
中。要恢复,请使用:
除了明星,你可以使用bsdtar