segunda-feira, 18 de agosto de 2008

Dividindo arquivos tar em múltiplos volumes

Dica originalmente retirada daqui

Muitas vezes queremos dividir os arquivos gerados pelo tar para caber em um dvd ou um cd, por exemplo. Para mídias como fita dat ou disquetes, a opção "-M" resolve, mas e quando quisermos fazer isso em sistema de arquivos para posteriormente gravar em mídias ?

Um exemplo: um arquivo de 1Gb e queremos separar em dois arquivos para caber em 2 cds de 700 Mb, usamos o seguinte comando:

tar -c -M --tape-length=700000 --file=cd1.tar arquivao.tar.gz

Onde a opção "--tape-length" é multiplicada por 1024 bytes (por arredondamento: 700000 x 1024 = +- 700Mb)

Quando o primeiro arquivo chegar a 700mb, o tar dará o seguinte prompt:

Prepare volume #2 for cd1.tar and hit return:

Para começar a escrever no segundo arquivo, digite:

n cd2.tar

Caso você saiba previamente quantos volumes o arquivo irá gerar, o seguinte comando não precisará de interação:

tar -c --tape-length=700000 -f cd1.tar -f cd2.tar arquivao.tar.gz

A opção "--tape-length" também pode ser substituída por "-L"

Para restaurar o arquivo:

tar -x -M --file=cd1.tar --file=cd2.tar arquivao.tgz

Nenhum comentário: