Linux 两台服务器之间数据传输

最新2018年双十一活动在阿里云买了三年的服务器,两个不同账号不同地域的服务器,无法通过快照创建自定义镜像方式把数据传到新服务器上,数据盘有200GB数据,这会比较麻烦了,搞了好几天,先是用了WinSCP 后台传输,结果传到30GB后开始出现缓存区太小,经过设置也不能达到最大网速。后来用scp命令 此命令比较简单,传输速度是达到了理想值,但由于中间断开了,在继续传是没有断点继传,已存在的文件不能跳过,只能又重新在来,这样实在太麻烦了。最后查了一下有rsync命令,不会覆盖原来已经文件,也是通过sshd是比较理想的,现在把方法分享给大家。

首先还是要说scp命令,因为简单,对于小量数据是可以的:

上传本地文件到远程机器指定目录

scp /www/wmphp.tar.gz root@wmphp:/www

复制本地/www/目录下的文件wmphp.tar.gz到远程机器wmphp.com的/www目录。

 

上传本地目录到远程机器指定目录

scp -r /www root@wmphp.com:/www

上传本地目录/www到远程机器wmphp.com上/www的目录中去。

当然还有返着来的,从远程服务器复制到本地,但我觉得这个方法上传更直观,就是把文件发到目标新服务器上。

注:复制命令cp -n 可以跳过已存在文件,而scp没有参数,就像Linux查流量弱爆了。

 

最后主人公出场了,rsync 它比scp更强大,支持“不覆盖”原目录

rsync -avzu –progress www root@wmphp.com:/www/ //u选项,指定不覆盖原目录内容

rsync -avzuP www root@wmphp.com:/www/   //P要大写,两个命令相同

-a –archive :归档模式,表示递归传输并保持文件属性。等同于”-rtopgDl”。
-v:显示rsync过程中详细信息。可以使用”-vvvv”获取更详细信息。
-z :传输时进行压缩提高效率。
-u –update :仅在源mtime比目标已存在文件的mtime新时才拷贝。注意,该选项是接收端判断的,不会影响删除行为。
-P:显示文件传输的进度信息。(实际上”-P”=”–partial –progress”,其中的”–progress”才是显示进度信息的)。

注:-a 等同于”-rtopgDl”,下面的命令“-avzuPtro” 显然多余了。

 

参考文章:https://www.cnblogs.com/f-ck-need-u/p/7220009.html

本文固定链接: http://blog.wmphp.com/2625.html | 顺盛网络博客

该日志由 admin 于2018年11月08日发表在 Linux 分类下, 你可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客。
原创文章转载请注明: Linux 两台服务器之间数据传输 | 顺盛网络博客

Linux 两台服务器之间数据传输:等您坐沙发呢!

发表评论


快捷键:Ctrl+Enter