使用rsync将文件从一台服务器复制到另一台服务器,涉及用户和权限

我使用rsync备份用户从主服务器上传到我的故障转移服务器的文件。

如果我使用rsync -a镜像从服务器A到服务器B/uploads目录,我可以期待使用服务器B /uploads的文件(例如,Nginx等)上的文件的function,像在服务器A ,假设我在服务器B上创build了具有相同名称和权限的用户,或者稍后会遇到一些细微的问题,我可能会忽略它们? 那么,是否复制了保留所有权和权限的文件的目录,在类似的机器之间可以互操作,或者是否通过UID复制了所有权,并因此在我碰巧以不同的顺序创build用户时,把所有东西都搞砸了。 这样做还有其他的考虑,或者你有什么更好的方法来处理这种使用rsync备份的build议吗?

在大多数情况下,这将按预期工作,但-a不会复制扩展属性( -X ),ACL( -A )和硬链接( -H ),因此如果文件使用这些属性,请添加这些参数。

一个注意:权限将根据数字UID和GID复制,而不是文本名称。 如果这些在目标服务器上不匹配,那么显然可能会遇到问题。

我认为你有两条路要走。 首先,您应该在两台服务器上创build具有相同UID和GID的用户和组,以便稍后您不会有任何意外。 其次,一旦rsync完成,你应该以访问主服务器的方式真正地访问备份服务器:尝试httpd,邮件,文件等,并检查它是否按预期工作。