Nesta resposta , dou uma resposta usando um script de retorno de chamada a ser usado com a opção -F
de tar
.
Aqui, eu expando a entrada automatizada para solicitações de solicitações de tar, tanto na criação quanto na extração do arquivo, e estimando antecipadamente o número de volumes necessários:
#!/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>&-
e
#!/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>&-