在保留 POSIX ACL 和权限的同时备份数据

Tor*_*ndi 4 linux backup permissions debian access-control-list

我正在寻找一种实用的方法来从服务器备份数据并保留所有 ACL 和权限。我看过 tar ,但根据 Google tar 不保留 ACLs 。我知道 rsync 可以保留 ACL 和权限,但前提是目标系统支持 POSIX ACL 并具有相同的用户。就我而言,我正在备份到位于 AFS 上的目录,因此不支持 POSIX ACL。

目前我已经通过编写一个脚本来解决这个问题,该脚本使用 find 递归系统(我使用 find 是因为我要排除某些目录)并将权限和 ACL 保存到文本文件中。此解决方案有效,但速度非常慢。有更好的解决方案吗?

fre*_*eit 9

apt-get install star
man star
star -acl -whatever -other -options -you -need
Run Code Online (Sandbox Code Playgroud)

Star 是 tar,支持扩展 POSIX 标头,即能够在 tar 文件中存储有关文件的一些额外数据。该-acl选项获取 ACL;您需要它来创建存档和提取。


Lam*_*iry 8

如果不想安装其他程序,可以单独备份 ACL:

getfacl -R somedir > acls.txt
Run Code Online (Sandbox Code Playgroud)

这会将所有 ACL 转储somedir到文件中acls.txt

要恢复,请使用:

setfacl -R --set-file=acls.txt somedir
Run Code Online (Sandbox Code Playgroud)