当需要在两个Linux服务器之间传输文件时,一般会有以下几种选择:
- 基于Xftp:先把文件或文件夹从A服务器down到本地,然后再从本地up到B服务器;
- 基于wget:在B服务器上直接利用wget工具将文件down过来,前提是文件可以通过http或ftp访问到;
- 基于scp(推荐):在B服务器上直接利用scp工具将任何指定的文件或文件夹复制过来。
上面这三种常规方式都可以实现安全传输。
Xftp比其他两种方式多了一步,每次都需要通过本地中转再上传到目标服务器,在传输大文件时性能较低,并且依赖公网带宽;
wget倒是可以直接将文件down过来,但缺点是只能传输支持http或ftp请求的文件,并且无法传输文件夹;
相比之下,scp就是最理想的文件传输工具了,效率超高,使用简单,极力推荐。
如果是阿里云ECS的话,还有几种选择:
- 云盘多重挂载:其实就是将云盘同时挂载到多个ECS实例上,这些ECS都可以访问这块云盘上的文件,类似于磁盘共享;
- 利用闲置的云盘进行中转:首先将云盘挂载到A服务器,并将文件复制过来,然后再把云盘挂载到B服务器,最后把文件复制出来;
- 利用阿里云盘作为中转:首先将文件从A服务器上传到阿里云盘,然后再从阿里云盘下载到B服务器;
第一种方式:并不是所有的云盘都支持多重挂载;第二种方式:并不是每个人都有闲置的云盘。
第三种方式还是挺有意思的,因为阿里云盘是免费的,并且已经有好心人开源了Linux客户端(传送门),简直好用到离谱。
最关键的是阿里云盘不限速!仅凭这一条就足够吊打某度网盘了。
这就解决了通过本地中转受公网带宽限制的问题,虽然在服务期间传输文件这方面还是不如scp方便,但利用阿里云盘做一些数据备份,或者常用工具包还是非常方便的,推荐尝试。
相关资源:
- Linux scp命令:https://www.runoob.com/linux/linux-comm-scp.html
- Linux设备使用阿里云盘终极方案:https://www.jianshu.com/p/3e079a59fe6c