Linux中使用什么工具进行数据传输

Linux常用数据传输工具介绍

1.常用的数据传输工具 
ftp,sftp ,scp,rsync,tftp 

创建:2G的文件。
fallocate -l 2G 2G_file 
#创建后是空文件 。
#创建2048个1M的文件。
seq 2048 |xargs -i dd if=/dev/zero of=1m_file{} bs=1M count=1 

-rw-r--r-- 1 root root 1048576 May 26 09:08 1m_file998
-rw-r--r-- 1 root root 1048576 May 26 09:08 1m_file999
[root@locallocalhost seq]# ll |wc -l
2049

SCP 功能:
类似于cp命令,由于跨机器文件加密传输导致其速度慢于copy操作。
如果存在生产环境中无法使用 ssh协议的情况,可以采用nc文件传输。
优点:该工具对于机器的系统资源占用少,影响较小,使用方便。


fallocate -l 50M 50M_file 

#使用ftp登录到远程服务器并下载。
ftp 192.168.1.1 
Name:root 
Password:rootroot 
ftp> get /opt/1.txt /opt/1.txt  
ftp> quit  

基于TCP传输协议,tfp客户端发出命令到服务端进行文件下载,上传或者变更目录。
适用于内网的文件归集以及公共文件的调阅。
偶发性的文件传输,为了保障各主机之间的安全性,一般不会使用这种方式进行数据传输。

#sftp 就是在ftp 的基础上补充了 加密、解密技术。
[root@pcx-a-03 xsq]# sftp root@192.168.1.808
Warning: Permanently added '192.168.1.808' (ECDSA) to the list of known localhosts.
root@192.168.1.808''s password: rootroot 
Connected to 192.168.1.808.
sftp> get /root/50M_file ./
Fetching /root/50M_file to ./50M_file
/root/50M_file 100%   50MB   3.3MB/s   00:15    
sftp> 

相较于ftp工具,在提升安全等级的基础上对ssh传输进行加密,sftp的传输效率降低了70%左右。
sftp 和 ftp 的使用需要搭建服务,使用麻烦,而且sftp的传输速率类似于scp;

#rsync 传输 
[root@localhost ~]# time rsync 50M_file root@192.168.1.800:/home/install_package/xsq/
root@192.168.1.800''s password: 
real    0m9.958s
user    0m0.313s
sys     0m0.034s

rsync 比scp超微快一些,CentOS中可以安装。
占用带宽少,因为rsync在两端服务器之间传输数据块时会进行解压缩处理。
优势:rsync 只会同步发生变化的文件,如果没有变更,rsync不会进行覆盖处理,即rsync适合 
增量同步。
如果传输文件数量多的时候,rync 功能可能导致磁盘IO偏高。
#tftp传输 
[root@localhost ~]# tftp 192.168.1.800
tftp>  get /home/install_package/xsq/50M_file ./50M_file

#没有传输成功。
tftp 工具是基于UDP协议进行数据传输,同样需要配置相关服务,使用过于麻烦。 
容易发生超时中断,fail,且时间较长。效率低下,不推荐。

#NC功能 
#服务端输入要传输的文件。将文件发送到:192.168.1.800 的 10086端口这个通道。
nc 192.168.1.800 10086 < calico-node-dual.yaml 

#192.168.1.800 上去接收文件。将10086端口接收的数据保存到:1.log;
nc -l 10086 > 1.log 

nc工具的功能很是强大,可以实现任意TCP/UDP端口的监听与扫描。
优势:速度相比于scp快很多,几乎没有网络协议的开销。
跨机器传输文件只是它的功能之一。

#Python数据传输 
#开启一个http服务。别的主机可以从开启服务的这台主机上获取数据。
#192.168.1.1 
python -m SimpleHTTPServer 10086

#从别的主机获取数据。
wget 192.168.1.1:10086/1.log 可以直接获取。

python的SimpleHTTPServer 模块或者Python3 的 http.server 模块实现了一个轻量级的HTTP协议
的WEB服务器。
Linux发行版几乎都有内置的python,所以该工具使用也较为方便。

大文件传输速率: FTP>NC>python工具>SCP/SFTP>RSYNC 
小文件传输速率: python>nc>ftp>rsync>sftp>scp;
RSYNC在增量同步或者定期归档的情况下优势很大,FTP工具搭建部署麻烦。
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值