![2f5c172563819f66bc6a2771a4ba2cd6.png](https://i-blog.csdnimg.cn/blog_migrate/330bc153bf59343fe6a63ccf9a9872d4.jpeg)
项目部署时候经常会上传下载一些大文件,我就经常会上传下载oracle dump文件,dump 文件还非常大,动不动就10几个G,偶尔会遇到网络不好的情况,下载到一半就又要重新下。
以前windows电脑时候会使用xftp,xshell。换成mac 或者 linux后,常用的简单操作还是命令使用起来比较顺手。
分割文件的方式
将服务器的大文件使用split命令分割成多个小文件下载。
split -C 1G 2019-07-23.dump 0723_
然后使用scp(多开几个线程分批下载) 下载到本地
scp -r "root@host:/opt/oracle/0723_*" ~/Desktop/
再使用cat命令将下载下来的文件合并
cat 0723_*>2019-07-23.dump
split命令说明
split:(1) 按行数分割split -l 300 large_file.txt new_file_prefix(2) 按字节大小分割 split -b 10m large_file.log new_file_prefix(3)按文件大小分割文件时,在切割时将尽量维持每行的完整性 split -C 1G large_file.txt new_file_prefix
断点续传
rsync -P --rsh=ssh root@host:/opt/oracle/2019-05-30.dmp ./ #中止了再次执行后面加--appendrsync -P --rsh=ssh root@host:/opt/oracle/2019-05-30.dmp ./ --append
ctrl+z 后台执行 fg命令 回到前台
为了使用方便可以设置alias:
alias rscp="rsync -P --rsh=ssh"rscp root@host:/opt/oracle/2019-05-30.dmp ./ --append
分割大文件和断点续传组合一起使用会更好哟。