Tar: Como ignorar o próprio arquivo

5

Eu estava planejando fazer um backup rápido do meu site. Então eu tentei executar o seguinte comando no meu webroot:

tar cvfz backup.tar.gz .

Isso parecia estar funcionando bem por um tempo. Até eu descobri que tinha começado a fazer o backup de backup.tar.gz ...

Existe uma maneira fácil de ignorar o arquivo que estou arquivando para ?

Nota: eu teria, é claro, colocado o arquivo no diretório acima, se eu pudesse. Mas eu só tenho acesso ao meu diretório pessoal.

    
por Svish 20.12.2009 / 14:06

3 respostas

6

Tente

tar cvfz backup.tar.gz *

Dessa forma, o shell estende o diretório atual * vs o nome atual do tar. A diferença é que o arquivo produzido não contém pasta raiz.

Se você também precisar incluir arquivos ocultos (.files), tente

tar cvfz backup.tar.gz * .??*

Isso inclui arquivos .files e impede a inclusão de diretórios pai.

    
por 20.12.2009 / 14:22
1

Tenho certeza de que há uma maneira mais agradável, mas sempre faço isso a partir de um diretório diferente.

tar cvfz backup.tar.gz /path/to/www

Este link parece ter as informações que você deseja.

    
por 20.12.2009 / 14:12
1

b=backup.tar.gz; tar --exclude=$b -zcf $b .

    
por 07.06.2017 / 01:11

Tags