如何通过网关 ssh 进行 rsync?

如何通过网关 ssh 进行 rsync?

我想将我的本地文件与服务器上的备份进行 rsync,该服务器仅允许通过网关从我当前所在位置进行访问。因此,我想出了以下方法

rsync -avz -r --stats --progress -e "ssh gateway.dot.com ssh server.dot.com:/home/myname/documents/" /home/myname/documents 

并且在列出所有文件时进行了一些通信,但最后的摘要显示实际上根本没有文件传输。

Number of files: 270889
Number of files transferred: 0
Total file size: 70343212868 bytes
Total transferred file size: 0 bytes
Literal data: 0 bytes
Matched data: 0 bytes
File list size: 7596005
File list generation time: 0.001 seconds
File list transfer time: 0.000 seconds
Total bytes sent: 7613770
Total bytes received: 17764

sent 7613770 bytes  received 17764 bytes  50707.87 bytes/sec
total size is 70343212868  speedup is 9217.44

有想法吗?

答案1

  1. rsync命令不应该是吗rsync ... -e "ssh the.gateway ssh" /local/dir/ the.remote.server:/remote/dir/
  2. 讯息speedup is 9217.44表明传输已进行9217多次优化,也就是说,两个主机之间的文件几乎(如果尚未)同步。

更新:

#2 不正确。请参阅crayzeewulf 的回答以获得更多解释。加速值误导了我,使我误以为它有效。

答案2

我认为项目#1clarkw 的回答是正确的。如果使用...-e "ssh gateway.dot.com ssh server.dot.com:/home/myname/documents/",则相应的 rsync 命令有源目录,但没有目标目录。在这种情况下,根据 rsync 手册:

Usages with just one SRC arg and no DEST arg will list the source 
files instead of copying.

这正是正在发生的事情。您可以通过提供垃圾作为参数来检查这一点-e。例如:

rsync -avz --stats -e 'suq maballs' /tmp

此命令将正常工作。它将列出下面的所有内容/tmp并在最后显示良好的统计数据:

Number of files: 28
Number of files transferred: 0
Total file size: 182 bytes
Total transferred file size: 0 bytes
Literal data: 0 bytes
Matched data: 0 bytes
File list size: 955
File list generation time: 0.001 seconds
File list transfer time: 0.000 seconds
Total bytes sent: 998
Total bytes received: 26

sent 998 bytes  received 26 bytes  2048.00 bytes/sec
total size is 182  speedup is 0.18

请注意,这里没有传输任何文件,就像您的示例一样。您需要修改原始命令:

rsync -avz -r --stats --progress \
    -e "ssh gateway.dot.com ssh server.dot.com:/home/myname/documents/" \
    /home/myname/documents 

到:

rsync -avz -r --stats --progress \
    -e "ssh gateway.dot.com ssh" \
    server.dot.com:/home/myname/documents/ \
    /home/myname/documents  

当然,用适当的主机名替换gateway.dot.com和。server.dot.com

相关内容