tar打包split分割分解拆分大包文件
1、将需要贪蚊恩打包的文件生成到列表文件,tar 时用于--files-from 参数。
find 路劲 -type f -name "羞裁*201907016*.mp3" > 路劲/列表文件名.list
2、使用tar 打包并分片 参数说明:-b 大小 -d 使用数字后缀 -a 后泪科缀长度。详细split参数说明见下图:
tar -zcf - --files-from 路劲/列表文件名.list | split -b 1024m -d -a 4 - 分片文件名.gz.

3、测试打包文件是否能正常解压。
cat 分片文件名.gz* | tar -xzv
4、完成后具体脚本部分展示。
log "start 开始生成${putDay} 日 list文件"
find ${baseData}/${putDay:0:4}/${putDay:4:2} -type f -name "*${putDay}*.mp3" > ${baseDataGz}/LIST_CRMSEND_4001_991_00_${putDay}_${retransmissionNumber}.list
log "end list文件生成结束"
log "根据生成的list文件将文件打包并拆分成500m大小"
log "start 开始生成${putDay} 日 gz文件"
tar -zcf - --files-from ${baseDataGz}/LIST_CRMSEND_4001_991_00_${putDay}_${retransmissionNumber}.list | split -b 500m -d -a 4 - ${baseDataGz}/CRMSEND_4001_991_00_${putDay}_${retransmissionNumber}.gz.
log "查看生成文件"
ls ${baseDataGz}/CRMSEND_4001_991_00_${putDay}_${retransmissionNumber}.gz*
log "end gz文件生成结束"
log "start 生成清单汇总文件"
find ${baseDataGz} -type f -name "CRMSEND_4001_991_00_${putDay}_${retransmissionNumber}.gz*" | sed "s/\/data\/ucp\/record\/ftpCrmsendGz\///g" >${baseDataGz}/CRMSEND_4001_991_00_${putDay}_${retransmissionNumber}
log "end 清单汇总文件生成结束"