有一次需要将一个文件上传到海外的服务器,该文件有10多G,由于网络很慢,而且不稳定,以及断点续传等问题,直接上传文件几乎是很难搞定的。
解决办法就是,先将文件分割为小文件,然后上传,上传完毕后再进行文件合并。而且上传时对这一批小文件可以并发执行上传,上传效率也更高了。
1. 使用split命令分割文件:
split -b 15m sourcefile.tar -d -a 5
解释:
-b 15m:每15m分割为一个小文件
-d:分割出来的小文件使用数字作为文件后缀,例如x000、x001、x002
-a 5:数字后缀的长度为5
使用以上命令,sourcefile.tar将被分割为:
x00000、x00001、x00002 ……
2. 上传
3. 合并文件:
cat x* >> targetfile.tar
4. 校验文件:
md5sum sourcefile.tar
md5sum targetfile.tar
两边文件的md5值相等,完毕!