当我运行此命令

rsync -avzp --del -e "ssh -p myport" user@hostname:/var/www/tests /var/www/tests


文件被同步,但没有将文件保存在/var/www/tests中,Rsync在现有“测试”内部创建了一个目录“测试”:

/var/www/tests/tests


并将文件放在此处。如何告诉Rsync不要创建新目录?

#1 楼

如果您不想创建另一个tests目录,则正确的命令将是

rsync -avzp --del -e "ssh -p myport" user@hostname:/var/www/tests/ /var/www/tests


注意/末尾的user@hostname:/var/www/tests/

评论


如果您遇到此问题,请也注意rsync选项-R。 -R(或--relative)的主要目的是在目标位置重新创建完整的源目录路径。因此,其效果与忽略尾部的斜杠相同。

–标记
19年11月12日11:15



#2 楼

您需要在源代码后面加上斜杠。

这是正确的命令:

rsync -avzp --del -e "ssh -p myport" user@hostname:/var/www/tests/ /var/www/tests


更多信息

rsync和斜杠的说明:

http://defindit.com/readme_files/rsync_backup.html


Rsync具有两种主要的操作模式。这些模式取决于源目录上是否存在斜杠。


另一个示例:

http:// www .jveweb.net / zh / archives / 2010/11 / synchronizing-folders-with-rsync.html


...您需要添加斜杠,否则,请添加一个名为
图片是在我们指定为
目的地的Pictures文件夹内创建的。