无法理解使用 ssh 的 Rsync 错误

无法理解使用 ssh 的 Rsync 错误

我想要首次尝试 Rsync 但遇到了困难。

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

我登录到本地服务器并输入:

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

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

两台服务器都配置为使用相同的 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]

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

提前致谢!

答案1

你的语法不正确。应该是

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

缺少 ssh 的 -e 操作符。而且 IP 地址后面需要有冒号。

答案2

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

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

如果您省略,user@它将假定远程用户与本地计算机上使用的用户相同;如果省略,.domain它将使用您的域搜索设置(与任何其他名称解析一样);如果省略,path它将使用远程用户的主目录(注意:它与写入相同user@server:~

所以在这里,你只需要用冒号替换空格:,就像 Grumpy 在他的回答中所写的那样。

答案3

尝试以下语法

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/

相关内容