加入多卷 tarball 的正确方法?

加入多卷 tarball 的正确方法?

那么这应该怎么做呢?我了解到 using是创建多卷文件cat时的首选方式,但是使用自己的原生多卷功能时又如何呢?splittar

谢谢

答案1

在这回答-F我使用回调脚本给出答案,与选项一起使用tar

在这里,我扩展了 tar 提示请求的自动输入,包括创建和提取存档,并提前估计所需的卷数量:

#!/bin/bash
# CREATION SCRIPT

vol_size=100000

# estimated number of volumes: dir-size / vol-size + 1
# adding a further +1 to be safe
n=$(($(du -s Documents2 | awk '{ print $1 }') / $vol_size + 2))

for ((i = 2; i <= n; i++)); do printf 'n file-%d.tar\n' $i; done |
  tar -ML $vol_size -cf file-1.tar Documents2/ 2>&-

#!/bin/bash
# EXTRACTION SCRIPT

n=$(printf '%s\n' file-*.tar | sed 's/^file-//;s/\.tar$//' | sort -nr | head -1)
for ((i = 2; i <= n; i++)); do printf 'n file-%d.tar\n' $i; done |
  tar -M -xf file-1.tar 2>&-

相关内容