不能理解使用SSH的Rsync错误

我想第一次尝试Rsync,但遇到困难。

我想从远程服务器传输文件到我的本地服务器。

我login到我的本地服务器并键入:

sudo rsync -avz ssh [email protected] /var/www/html/mywebsite.co.uk /var/www/html/ 

这意味着我想从远程服务器复制文件夹“mywebsite.co.uk”到本地服务器上的/ var / www / html文件夹中。

两台服务器都configuration为使用相同的ssh密钥。

我得到以下错误:

 sending incremental file list rsync: link_stat "/var/www/html/ssh" failed: No such file or directory (2) rsync: link_stat "/var/www/html/[email protected]" failed: No such file or directory (2) sent 55 bytes received 13 bytes 136.00 bytes/sec total size is 0 speedup is 0.00 rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1070) [sender=3.0.9] 

有人能帮我理解这些错误吗?

提前致谢!

你的语法不正确。 应该

 sudo rsync -avz -e ssh [email protected]:/var/www/html/mywebsite.co.uk /var/www/html/ 

缺lessssh的-e运算符。 而你需要冒号后的IP地址。

当使用SSH指定远程位置(要求使用-e ssh ,否则使用rsync自己的协议,并要求在另一端启动rsync服务器/守护程序)时,必须按照以下模式编写它:

 [user@]short_name[.domain]:[path] 

如果您忽略user@则认为远程用户与本地机器上使用的远程用户相同如果您省略.domain ,它将使用您的域名search设置(与其他名称parsing一样)如果您省略了path ,则将使用远程用户的主目录(注意:和编写user@server:~

所以在这里,你只需要更换空间 以冒号来形容:就像Grumpy在他的回答中写的一样。

尝试下面的语法

 rsync -e ssh -avz [email protected]:/var/www/html/mywebsite.co.uk [email protected]:/var/www/html/ 

如果需要,你也可以包含ssh密钥和端口

 rsync -e "ssh -p PORT_NO -i path_to_file" -avz [email protected]:/var/www/html/mywebsite.co.uk [email protected]:/var/www/html/