Preciso fazer backup de um diretório bastante grande, mas estou limitado pelo tamanho de arquivos individuais. Gostaria essencialmente de criar um tar.(gz|bz2)
arquivo dividido em 200 MB de arquivos no máximo. O Clonezilla faz algo parecido com isso dividindo os backups de imagem com o seguinte nome:
sda1.backup.tar.gz.aa
sda1.backup.tar.gz.ab
sda1.backup.tar.gz.ac
Existe uma maneira de fazer isso em um comando? Eu entendo como usar o split
comando, mas gostaria de não precisar criar um arquivo gigante e depois dividi-lo em arquivos menores, pois isso dobraria o espaço em disco necessário para criar o arquivo inicialmente.
Respostas:
Você pode canalizar o tar para o comando split:
Em alguns sistemas * nix (como o OS X), você pode receber o seguinte erro:
Nesse caso, tente o seguinte (observe o
-b 200m
):Se você estiver tentando dividir o arquivo para caber em uma unidade formatada em FAT32, use um limite de bytes de 4294967295. Por exemplo:
fonte
cat sda1.backup.tar.gz.* | tar xzvf -
fazer o trabalho?split
por padrão, define os nomes dos arquivos para que, quando classificados por LOCALE (que é feito por meio de shell globbing), estejam na ordem correta.tar czf ...
sem ov
e mesclar porcat backup.tar.gz.* | tar tar xzf -
semv
. Não vejo nenhum benefício da saída detalhada aqui porv
.tar cvzf - Xcode.app/ | split -b 2000m - /Volumes/PH/xcode/xcode.tgz
(usado a partir decd /Applications/
) Muito obrigado :)No macOS, o
split
comando funciona de maneira um pouco diferente:fonte
Apenas para adicionar: como o tamanho máximo permitido do arquivo em vfat / fat32 é 2 ^ 32 menos 1 (4294967295 bytes), o comando split com o tamanho máximo permitido do arquivo nesse sistema de arquivos é:
fonte
Você precisará de um script para automação, movendo o arquivo pseudo-tape.tar para um novo nome:
fonte
-M --tape-length
. No entanto, essa resposta ignora a solicitação do OP por uma solução que use a compressão gzip ou bzip2.tar
mas sobre um clone do tar chamadogtar
(GNU tar). Esse clone tar suporta a criação de arquivos com vários volumes, mas com uma probabilidade perceptível não pode / não deseja extrair desses arquivos, pois afirma incorretamente que um volume de acompanhamento não é a parte de continuação correta.