rsync“-a”选项是否排除“-A”和“-X”选项?

rsync“-a”选项是否排除“-A”和“-X”选项?

Rsync 将-a或描述--archive mode为与选项等效。-rlptgoD (no -H,-A,-X)

-A和选项-X不明确,不清楚它们是包含还是排除。

-A代表--acls-X代表--xattrs,我想知道它们是否被排除在外,因为它们是添加在 Unix 文件系统之上的功能,尽管您希望存档备份包含它们。

扩展属性和访问控制列表是否存在某些问题,导致将它们包含在存档备份中是不明智的?

它们是否与使用它们的文件分开存储,从而使其不适用于存档备份?

答案1

-A 和 -X 选项不明确,不清楚它们是包含还是排除。

测试选项的行为应该相对简单。

创建一个带有 ACL 的测试文件,使用各种选项及其组合复制该文件,然后查看复制的文件是否具有 ACL。 (每次复制后删除目标文件。)

我不会为您提供完整的输出,但通过测试,我发现 、rsync或 都没有rsync -a复制 ACL;但所有rsync -A,rsync -a -Arsync -A -a复制它。

因此,确实-A不包含在 中-a,但-a也不排除-A在明确给出时使其不起作用的意义上。-X工作原理类似。

FWIW,这与我阅读手册页的方式相匹配,这与(带有关于如何不包含的注释)-a完全相同。-rlptgoD-AX

我想知道它们是否被排除在外,因为它们是在 Unix 文件系统之上添加的功能

至于为什么-a不包括-AX,我想我们需要问开发人员。他们可能认为所讨论的功能不够常见,无法保证这一点,或者大多数用户不知道它们是如何工作的,或者尝试读取和存储 ACL 和/或 xattrs 会导致错误或其他问题在某些系统中。

扩展属性和访问控制列表是否存在某些问题,导致将它们包含在存档备份中是不明智的?

这很难说,可能取决于您的用例以及 xattrs(和 ACL)中到底有什么。

相关内容