我试图通过在两台服务器上停止Mongo来镜像一个大的Mongo数据库,从生产服务器到开发环境,然后运行命令:
rsync --archive --delete --recursive --verbose --compress --rsh "ssh -t -o StrictHostKeyChecking=no -i key.pem" remoteuser@remotehost:/var/lib/mongodb/ /var/lib/mongodb
它运行良好几分钟,但随后停止与错误:
receiving incremental file list ./ collection-228--5129329295041693519.wt inflate returned -3 (0 bytes) rsync error: error in rsync protocol data stream (code 12) at token.c(557) [receiver=3.1.1] rsync: [generator] write error: Broken pipe (32) rsync error: error in socket IO (code 10) at io.c(820) [generator=3.1.1]
谷歌search错误表明这是某种networking连接问题,但我能够连接到两台服务器就好了。
如果我重新运行这个命令,它将会以相同的错误信息在同一个文件上失败。 什么导致这个错误,我该如何解决?
您是否尝试在本地和远程服务器之间同步数据,远程服务器看起来像aws ec2,您可以使用下面的命令来同步数据
rsync -ravhz“ssh -i /path/to/EC2_KEY.pem”/ path / to / local / files / * EC2_USER @ EC2_INSTANCE:/ path / to / remote / files
在同步之前,请检查服务器和服务器,因为您可能会在错误的方向同步
如果您试图从ec2同步到本地服务器,请检查您是否在服务器之间打开了正确的端口
尝试先telnet和检查服务器之间的连接,你必须白名单的IP和端口,因为一些防火墙可能会阻止数据传输
事实certificate,rsync访问远程服务器上的rsync,以及我的服务器之间的版本不一样。 我在目标服务器上运行3.1.1,但在源服务器上运行3.1.0,显然这足以打破某些文件的下载。 我在源服务器上安装3.1.1,然后转移工作完美。