我想第一次尝试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/