以 root 身份运行 rsync 但保留用户所有权

以 root 身份运行 rsync 但保留用户所有权

我想使用 rsync 将用户文件从一台服务器备份到另一台服务器。但我注意到用户文件夹更改为 root。如何使用 rsync(由 root 运行)保留用户权限?

答案1

使用-a标志,其中包括选项-o-g,用于保留所有者和组。这要求您rsync以 root 身份运行。

另请参阅man rsync

答案2

权限的保存是通过“归档”模式实现的-a。常见的例子有-avz

rsync -avz foo:src/bar/ /data/bar

这可确保符号链接、设备、属性、权限、所有权等在传输过程中得到保留。此外,还将使用压缩来减少传输数据部分的大小。

答案3

如果您使用 rsync 进行备份,我强烈建议您改用 rsnapshot(它使用 rsync)。它会轮换备份并使用硬链接,因此您可以看到每日备份之间的差异(但文件夹看起来仍然包含完整的内容)。我在工作中使用它来备份 Windows 和 Linux 服务器。对我们来说很完美!

答案4

从 rsyncd.conf 手册中,除了 rsync 客户端的 -a 选项之外,您还必须将 uid 和 gid 都指定为 0。

相关内容