tar -C com certos arquivos no direcory [duplicado]

0

Digamos que eu tenha dois diretórios que eu usei tar sem reter a estrutura de diretórios:

/root/dir1
/root/dir2
  • Além disso, gostaria de fazer backup apenas dos arquivos que começam com, digamos, f1 em / root / dir1 e um arquivo chamado log.txt em / root / dir1
  • Em / root / dir2 Eu quero apenas arquivos que começam com f2

Como posso conseguir isso?

    
por curiousengineer 20.09.2018 / 02:12

1 resposta

0

Se você tem o GNU tar, você pode usar as opções --transform ou --strip-components para obter um arquivo simples, sem a árvore de diretórios. Algo como:

tar cf foo.tar --transform='s:.*/::' /root/dir1/f1* /root/dir2/f2* /root/dir1/log.txt

O GNU tar avisará sobre o / nos nomes dos arquivos, mas os removeremos de qualquer maneira.

Como alternativa, com um par de cd s:

cd /root/dir1;
tar cf /some/where/foo.tar f1* log.txt
cd /root/dir2;
tar uf /some/where/foo.tar f2*

Aqui, precisaremos especificar um caminho para o arquivo tar que não será afetado pelo cd s (portanto, um caminho absoluto ou porque ambos são diretórios em /root , um caminho para o pai pasta).

    
por 20.09.2018 / 02:29