1.一次打包:
tar cjf - directory/ | split -b 100m -d -a 1 - filename.tar.bz2.
(directory/):待压缩的目录名。
(split):把文件分成几个部分。
(-b 100m):每个输出文件大小100m,单位m、k、b。
(-d):使用从0开始的数字后缀,而不是字母后缀。
(-a 1):生成长度为‘1’的后缀,也就是0~9,默认值‘2’。
(filename.tar.bz2.):完成后输出的压缩包名字。
完成后输出的压缩包如下:
filename.tar.bz2.0
filename.tar.bz2.1
filename.tar.bz2.2
filename.tar.bz2.3
filename.tar.bz2.4
filename.tar.bz2.5
filename.tar.bz2.6
filename.tar.bz2.7
filename.tar.bz2.8
filename.tar.bz2.9
最后要提醒那两个”-“不要漏了,那是“tar”的 ouput 和“split”的 input 的参数。
2.上面方法虽好,但是如果时间长了或者在拷贝传输过程中数据丢失,造成合并解压出来文件丢失了,所以我们一般会分4步:
(1)tar cf filename.tar directory/ //打包
(2)tar cjf filename.tar filename.tar.bz2 //打包.bz2
(3)md5sum filename.tar.bz2 //校验码,需保存好校验码,为以后合并后校验比对
(4)split -b 100m filename.tar.bz2 -d -a 1 filename.tar.bz2. //分包
通过以上4步操作就可以输出上个方法的那些文件,比上一次方法加多了一次校验,就是为了后续合包校验比对,如果不对可能文件损坏或者合包没合好。
3.然后cat合并分包:
cat filename.tar.bz2.* > filename.tar.zb2 //filename.tar.bz2.* == 0~9
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/289815.html