为什么 rsync 跳过主目录?

chr*_*san 71 rsync mac-osx

我正在尝试在本地(在 Windows 机器上)使用 rync 到远程服务器(我的 osx 机器)以测试远程部署构建脚本。我之前在 2 个 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

$ 
Run Code Online (Sandbox Code Playgroud)

或者

$ 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


$ 
Run Code Online (Sandbox Code Playgroud)

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

Zor*_*che 96

rsync -v -e ssh myuser@10.86.83.11:/Library/WebServer/sites/staging/app1/ ./export
Run Code Online (Sandbox Code Playgroud)

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

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

你有反向选择吗?命令应该是rsync [source] [DESTINATION]. 如果 app1 目录是空的,而您正试图复制一个空目录,那么您将不会做任何有用的事情。

也许你需要这样的东西?

rsync -avz ./export/  myuser@10.86.83.11:/Library/WebServer/sites/staging/app1/ 
Run Code Online (Sandbox Code Playgroud)

还:

  • 你应该几乎总是在带有 rsync 的目录上包含一个尾部斜杠。
  • 几乎在过去 5-10 年中发布的每个 rsync 版本都默认使用 ssh 进行远程传输。您可能不必指定-e ssh.

  • 哇..真是太尴尬了。是的,我混淆了源和目标... (3认同)
  • +1 表示“您几乎总是应该在带有 rsync 的目录上包含一个斜杠。” (2认同)