为什么rsync跳过主目录?


47

我正在尝试在远程服务器(我的osx框)本地(在Windows机器上)使用rync,以测试远程部署构建脚本。我已经在两台Linux服务器之间完成了rsync的工作,但是现在遇到了问题。这是输出:

$ rsync -v -e ssh myuser@10.86.83.11:/Library/WebServer/sites/staging/app1/ ./export

skipping directory /Library/WebServer/sites/staging/app1/.

sent 8 bytes  received 13 bytes  3.82 bytes/sec
total size is 0  speedup is 0.00

$ 

要么

$ rsync -avz -e ssh myuser@10.86.83.11:/Library/WebServer/sites/staging/app1/ ./export

receiving file list ... done
./

sent 26 bytes  received 68 bytes  17.09 bytes/sec
total size is 0  speedup is 0.00


$ 

远程app1目录为空,而本地导出目录具有4个子目录,然后每个目录中都有一堆文件

Answers:


64
rsync -v -e ssh myuser@10.86.83.11:/Library/WebServer/sites/staging/app1/ ./export

您没有给它提供任何将其置于递归模式的选项,例如-r-a

远程app1目录为空,而本地导出目录具有4个子目录,然后每个目录中都有一堆文件

这里有倒退的选项吗?该命令应为rsync [source] [DESTINATION]。如果app1目录为空,而您试图复制一个空目录,那么您将无用。

也许您需要这样的东西?

rsync -avz ./export/  myuser@10.86.83.11:/Library/WebServer/sites/staging/app1/ 

也:

  • 在使用rsync的目录中,几乎应该始终在末尾加上斜杠。
  • 在过去5到10年中,几乎每个版本的rsync都默认使用ssh进行远程传输。您可能不必指定-e ssh

2
哇..真令人尴尬。是的,我混合了源代码和目标...
chrisan 2012年

1
对于“您应该几乎总是在带有rsync的目录上包含斜杠” +1。
Walrus the Cat

在Mac上,似乎使用-r标志,但是在Linux上,我始终使用-R(“大写R”)
Adam F

@Zoredache为什么差不多?
Nikhil

3

通过在命令中添加以下选项,尝试启用rsync的内置功能来输出日志文件。

--log-file=/path/to/log.file

您还可以通过添加额外的-v选项来增加详细程度,例如-avvz,根据手册页所述,“两个-v选项将为您提供有关正在跳过哪些文件的信息,并在末尾提供更多信息。”

如果返回的信息不能帮助您确定问题,请编辑问题并添加其他输出。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.