目前,我正在尝试设想一种备份某个目录(即 /volatile)的所有文件属性和权限的方法,以便以后恢复。我想到的程序是:
- 备份 /volatile 中的所有文件属性
- 更新 /volatile (从 git repo 克隆)
- 将文件属性恢复为新文件
应该保留的文件属性例如是所有权和访问权限以及 setuid 位等...
如果文件和目录结构始终完全相同,我该怎么做?如果有微小的变化(即删除一个文件),我该怎么做?
任何想法都将不胜感激。
提前致谢
答案1
这将恢复 Unix 文件权限、POSIX ACL 和(如果setfacl
以 root 身份运行)文件所有权:
getfacl -R /volatile> /备份/acls
cd / && setfacl --restore /backup/acls
这将恢复 ext3/XFS 扩展属性 (xattrs):
getfattr -Rd /volatile> /backup/xattrs
cd / && setfattr --restore /backup/xattrs