Como tar-gzipar um diretório e colocar os resultados dentro de si mesmo?

0

Eu gostaria de fazer backup do meu diretório pessoal inteiro no Linux. Suponha que esse diretório seja o único para o qual tenho permissões de gravação.

Como eu iria tar-gzip este diretório e colocar o resultado dentro de si mesmo?

    
por Dims 30.07.2018 / 09:40

3 respostas

2

tar zcf home-backup.tar.gz --excluir ./home-backup.tar.gz.

    
por 30.07.2018 / 10:11
0

O já sugerido

tar zcf home-backup.tar.gz --exclude home-backup.tar.gz .

funcionaria, mas eu realmente não gosto desse tipo de tars que contém muitos arquivos em vez de apenas um diretório. Se você quiser fazer o mesmo, mas como um diretório:

cd /home
tar -czf yourhome/yourhome.tgz --exclude yourhome.tgz yourhome/

Em ambos os casos, você receberá uma mensagem de erro:

tar: yourhome: file changed as we read it

que pode ser um problema se você quiser fazer backup de um script e verificar o código de saída e, de qualquer maneira, se você ignorar isso, poderá ocultar outro problema. Você pode eliminar isso criando um tgz vazio antes de iniciar o backup:

touch yourhome.tgz
    
por 30.07.2018 / 11:05
0

Se você usar uma implementação moderna de tar, isso funcionará do jeito que você gosta:

star -cz . > archive.tar.gz

imprimirá o aviso:

star: 'archive.tar.gz' is the archive. Not dumped.
    
por 30.07.2018 / 16:42

Tags