Se você tiver espaço suficiente para armazenar o arquivo compactado, o arquivo poderá ser criado e dividido de uma só vez (assumindo o GNU split
):
tar -c -vz -f - directory | split --additional-suffix=.gz.part -b 1G
Isso criaria arquivos chamados xaa.gz.part
, xab.gz.part
etc., sendo cada arquivo um bit compactado de 1G do arquivo tar
.
Para extrair o arquivo:
cat x*.gz.part | tar -x -vz -f -
Se o sistema de arquivos não puder armazenar o arquivo compactado, as partes do arquivo precisam ser gravadas em outro sistema de arquivos, alternativa a algum local remoto.
Na localização remota, por exemplo:
ssh user@serverwithfiles tar -c -vz -f - directory | split --additional-suffix=.gz.part -b 1G
Isso transferiria o archive compactado sobre ssh
da máquina com o diretório grande para a máquina local e o dividiria.