我正在使用 CwRsync 从我的 Windows 开发机器连接到 Linux 网络服务器:
rsync -avuz -e ./ssh --exclude=".svn" /cygdrive/c/xampp/htdocs/project123/ [email protected]:/home/user123/public_html
这可以将我的开发项目目录顺利且快速地同步到服务器。
但执行此操作后,所有目录属性都将重置为仅本地用户user123
,因此该网站不再可用。我需要手动重置这些属性。
为什么会发生这种情况?如何预防?
附言:由于使用的是 Windows 环境,我很难理解 rsync。我从一些示例中复制了上述命令...只需要让这个小东西也能正常工作...
答案1
这取决于你所说的“属性”是什么意思。
权限?
-p
( )选项--perms
应保留它们。但是,使用 时它会自动启用-a
,因此如果权限丢失,则可能是由 CwRsync 本身引起的。确保(使用 Cygwin 的
ls
和chmod
)当地的权限正确。或者,尝试该--no-perms
选项。所有权?在 Unix 系统上,用户不得更改文件所有权。如果您以 身份登录
user123
并创建文件,则该文件的所有者为user123
。组也存在类似的限制 - 您能更改文件的组,但只有当您自己属于该组时才可以。还有别的吗?