Esta solução não usa tar
, mas você pode fazê-la funcionar com afio.
Toda a lógica para dividir o arquivo é embutida, com a opção de executar scripts após cada divisão de volume:
cd /path/to/files -print | \
afio -oxv -s 1g -H rotate.sh backup-'date -Imin'-Vol%V.afio
E rotate.sh
é o seu script para carregar e excluir cada arquivo. Isso gera arquivos:
backup-2014-11-29T18:04-0500-Vol1.afio
backup-2014-11-29T18:04-0500-Vol2.afio
backup-2014-11-29T18:04-0500-Vol3.afio
...
E executa rotate.sh
após a conclusão de cada volume.
Outras opções:
-o # create an archive
-x # perserve ownership suid/sgid
-v # verbose
-s 1g # split archives after 1g
-H rotate.sh # run this script after each 'tape change'
-Z -P xz # Compress, and use xz instead of gzip
# Also, %V, below, inserts the volume number into the file name
backup-'date -Imin'-Vol%V.afio
Outros afio
aspectos: É semelhante a cpio,
, exceto que é especificamente voltado para backups com script. Também é mais seguro para arquivos compactados porque armazena cada arquivo compactado individualmente, em vez de compactar todo o fluxo. Desta forma, uma corrupção de dados após a compactação afeta apenas um arquivo, em vez de todo o arquivo. Da mesma forma, também pode gpg criptografar cada arquivo à medida que é armazenado, o que é ótimo para armazenamento em nuvem.