我正在使用 将用户上传的文件从我的主服务器备份到我的故障转移服务器rsync
。
如果我使用将目录从服务器rsync -a
镜像到服务器,我是否可以期望使用服务器上文件的程序(例如 Nginx 等)像在服务器上一样运行,假设我在服务器上创建了具有相同名称和权限的用户,或者我稍后会遇到可能被我忽略的细微问题?那么,在类似的机器之间复制具有保留所有权和权限的文件目录是否可以互操作,还是它会通过 UID 复制所有权,因此当我碰巧以不同的顺序创建用户时,一切都会搞砸,等等?执行此操作时还有其他注意事项吗?或者您对使用 处理此类备份的更好方法有什么建议吗?/uploads
A
B
/uploads
B
A
B
rsync
答案1
在大多数情况下,这将按预期工作,但-a
不会复制扩展属性(-X
)、ACL(-A
)和硬链接(-H
),因此如果您的文件使用这些,请添加这些参数。
注意:权限将根据数字 UID 和 GID 进行复制,而不是文本名称。如果目标服务器上的权限不匹配,您显然可能会遇到问题。
答案2
我认为您有两条路可走。首先,您应该在两个服务器中创建具有相同 UID 和 GID 的用户和组,这样以后就不会有意外了。其次,一旦 rsync 完成,您就应该以访问主服务器的所有方式访问备份服务器:尝试 httpd、邮件、文件等,并检查它是否按预期工作。