sábado, 4 de outubro de 2014

Comprimindo com o comando tar sem o caminho todo

Olá pessoal!
Algum tempo atrás eu estava criando um script de backup e para isso nada melhor do que comprimir o arquivo, mais exatamente comprimir em tar.bz2.

Bom, percebi que ao usar o comando. Exemplo:
tar -jcpf /home/guihatano/backup/arquivo.tar.bz2 /home/guihatano/Documents/pasta

Ele comprimia normal, tudo certo. Porém, ao descompactar ele extrai o caminho todo:
/home/guihatano/Documents/pasta

ou seja:

Se eu descompactar na pasta backup (/home/guihatano/backup/), ficará:
/home/guihatano/backup/home/guihatano/Documents/pasta

A solução:
encontrei a solução aqui

Na verdade existe duas formas de resolver isso.
1ª  ir até a pasta que você deseja compactar. Exemplo:
cd /home/guihatano/Documents
tar -jcpf /home/guihatano/backup/arquivo.tar.bz2 pasta

2ª usar a opção -C (sim, em maiúsculo e não minúsculo) do tar. Exemplo:
tar -jcpf /home/guihatano/backup/arquivo.tar.bz2 -C /home/guihatano/Documents/pasta .

Isto te dará uma estrutura parecida com:
./pasta/arquivo1.txt
./pasta/arquivo2.txt

OBS: Não esqueça do "." (ponto final) após um espaço no comando, ele é necessário e não está ali por acaso.

Utilizei a opção 2, pois não queria ter que ficar entrando nas pastas, no meu script eu comprimo mais de uma pasta para backup.

Espero que seja útil à alguém. Até a próxima!

Nenhum comentário:

Postar um comentário