文件是工作生活的日常关键话题,我们经常需要在机器之间传输文件。比如备份,复制数据等等。这个是很常见,也是很简单的。用scp或者rsync就能很好的完成任务。但是如果文件很大,需要占用一些传输时间的时候,怎样又快又好地完成任务就很重要了。
在测试用中,一个最佳的方案比最差的方案,性能提高了10倍。
关于局域网内复制一个文件到另外一台Linux电脑上如果我们是复制一个未压缩的文件。这里走如下步骤:
这样做会很有效率,数据压缩后可以更有效的利用带宽
我们可以通过ZIP+SCP的组合实现这个功能。
gzip -c /home/yankay/data | ssh yankay01"gunzip -c - > /home/yankay/data"
这条命令是将/home/yankay/data经过GZIP压缩,通过ssh传输到yankay01的机器上。
data文件的大小是1.1GB,经过Zip压缩后是183MB,执行上面的命令需要45.6s。平均吞吐量为24.7MB/s
我们会发现Scp也有压缩功能,所以上面的语句可以写成
scp -C -c blowfish /home/yankay/datayankay01:/home/yankay/data
这样运行效果是相同的,不通之处在于我使用了blowfish算法作为Scp的密匙算法,使用这个算法可以比默认的情况快很多。单单对与scp,使用了blowfish 吞吐量是62MB/s,不使用只有46MB/s。
这是一种硬性的技术型方法,下面还介绍一个比较简单的用传输软件解决Linux大文件传输的方法或步骤…
激活:扫描二维码,回复"授权码",免费领取
tar zxvfRaySync_FTP-2.0.3-2660_Free-linux_64.tar.gz //解压文件cd RaySync //进入目录
./start.sh
4. 开放端口
1). nat端口
如果服务器上部署在NAT网关内,只有内网IP,就需要在路由器NAT上映射下面三个端口:
TCP:8090
TCP:2121
UDP:32001
2). 服务器防火墙配置
如果服务器有防火墙需要开放下面三个端口(以 Centos 6为例):
iptables -A INPUT -p tcp -m state --stateNEW -m tcp --dport 8090 -j ACCEPT
iptables -A INPUT -p tcp -m state --stateNEW -m tcp --dport 2121 -j ACCEPT
iptables -A INPUT -p udp -m state --stateNEW -m udp --dport 32001 -j ACCEPT
service iptables save //保存刚才的配置
service iptables restart //重新启动iptables
1). 打开浏览器(建议使用谷歌、火狐、搜狗、IE11等浏览器)输入您的IP地址或域名如:http://127.0.0.1:8090/admin打开传输后台页面
镭速传输首次安装后内置admin后台管理帐号,可直接登录,帐号帐号密码如下:
帐号:admin
密码:123456
2). 配置服务器IP和激活码
打开浏览器(建议使用谷歌、火狐、搜狗、IE11等浏览器)输入您的IP地址如: http://127.0.0.1:8090打开传输页面
镭速传输首次安装后默认内置test体验帐号,可直接登录,帐号密码如下:
帐号:test
密码:123456
总结:Linux系统对于大文件传输,或者是远距离传输大文件,以上方法都适用,关键看你怎么选择!