rsync 版本 3.1.2

rsync 版本 3.1.2

rsync:--groupmap=*:www-data:未知选项

我正在尝试在我的 rsync 行中添加一个选项,以将传输的文件组设置为以 www-data 作为其组。

当我添加该选项时,我收到上述消息。

这是我正在尝试的 rsync 行:

rsync -avz --delete  --chmod=ug=rwX,o=rX  --groupmap=*:www-data ' -e "ssh -p 48"  /cygdrive/e/test  [email protected]:/var/vhost/locals/test

如果没有 -groupmap 标志,文件将会以 john:john 而不是所需的 jonh:www-data 的形式登陆。

这是从 windows 到 ubuntu。

有人有什么想法吗?

当我尝试使用--chown时,情况也是一样的:

rsync: --chown=john:www-data: unknown option

參考文獻:http://rsync.samba.org/ftp/rsync/rsync.html

答案1

您引用的选项包括在版本 3.1.0rsync,但看起来你在 Windows 上使用 cygwin,它可能直到2014 年 6 月

鉴于与您的问题的接近性,您可能正在使用旧版本的 rsync。也许您只需要升级到最新的 cygwin/rsync?

rsync --version

答案2

解决这个问题最快的方法是反转到 Windows。如果你从 Windows 在 Ubuntu 上进行 rsync,你应该能够在那里设置权限。

答案3

我放弃了。一个解决方法是以 john:www-data 的身份运行 apache。rsync 会以 john 的身份将新文件复制到目标,但 apache 可以以 john:www-data 的身份正常读取它们。

[...]
<IfModule mpm_itk_module>
AssignUserId john www-data
</IfModule>
[...]

答案4

rsync 版本 3.1.2

我主要在本地使用 Windows,因此这是我用来与服务器(debian)同步文件的命令行:

user@user-PC /cygdrive/c/wamp64/www/projects

$ rsync -rptgoDvhP --chown=www-data:www-data --exclude=.env --exclude=vendor --exclude=node_modules --exclude=.git --exclude=tests --exclude=.phpintel --exclude=storage ./website/ username@hostname:/var/www/html/website

我希望这对你有帮助

相关内容