Linux - Dividindo um backup em duas etapas

2

Eu crio um tarball usando tar zcf arhive.tar.gz dir/ e isso funciona ok. Agora eu queria dividir isso em dois arquivos simples, um apenas para imagens, o outro - para todo o resto.

Parece que não há uma maneira trivial e limpa de fazer isso. Para tar , só posso excluir arquivos, o que não é razoável excluir todas as extensões, exceto gif, jpg e png.

Para incluir, preciso usar find com exec ou | xargs . Este tipo funciona, mas quebra se os nomes dos arquivos tiverem espaços ou caracteres especiais (apóstrofos, aspas). Então agora eu tenho que canalizar todos os nomes de arquivos para, digamos, awk e escapar deles manualmente?

O que estou perdendo? Por que isso é tão complicado?

Eu só queria tar zcf archive-images.tar.gz dir/ --match-only=*.png

    
por Mikhail 14.02.2012 / 21:37

1 resposta

6

use find ... -print0 | xargs -0 tar... essas duas opções existem para lidar com nomes de arquivos com espaços.

    
por 14.02.2012 / 21:47