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