我有一个小问题。 我在窗口中使用rsync(Cygwin),并在我的远程文件夹中同步的文件是不正确的。
rsync -r /cygdrive/c/xampp/htdocs/mysite/* [email protected]:/home/mysite/public_html/
现在,我使用rsync来上传文件,然后我进入我的远程目录,手动更改文件/文件夹的权限。
rsync有一个选项CHMOD等?
谢谢,Wenbert
编辑:我想要的文件是644等
如果要强制目标的权限,则需要使用--chmod选项和/或--perms选项。
--chmod覆盖源权限(即rsync假设源权限是你指定的任何东西,而不是他们实际是什么) --perms (或-p )将源权限强制到目标服务器上 例如:
rsync --chmod=a=r,u+w,D+x -p -r /cygdrive/c/xampp/htdocs/mysite/* \ [email protected]:/home/mysite/public_html/
你没有提到cygwin认为源的权限是什么(例如cygwin中的ls -l /cygdrive/c/xampp/htdocs/mysite/* )或者目标端的实际权限。 如果我们知道这一点,可能会构build一些简单的东西。
要详细了解各种选项,请参阅非常详细的rsync联机帮助页 。
请注意,rsync还不支持八进制权限(例如--chmod=644 )。 根据这篇文章 ,对rsync 3.1.0的支持将会提供。
Cygwin不理解NTFS ACL,不能复制它们。 你将永远使用rsync在远程端执行高级权限。
我所使用或听到的两种方法build议解决这个问题: