当我运行此命令时
rsync -avzp --del -e "ssh -p myport" user@hostname:/var/www/tests /var/www/tests
文件已同步,但 Rsync 不会将文件保存在其中/var/www/tests
,而是在现有的“测试”内创建另一个目录“测试”:
/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/
。
答案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/en/archives/2010/11/synchronizing-folders-with-rsync.html
...您需要添加尾随斜杠,否则,将在我们指定为目标的图片文件夹内创建一个名为图片的文件夹。