Como restaurar um backup de um arquivo tgz no linux

1

Como posso restaurar a partir de um arquivo backup.tgz gerado a partir de outro servidor linux no meu próprio servidor? Eu tentei o comando o seguinte comando:

tar xvpfz backup.tgz -C /

O comando acima funcionou, mas substituiu os arquivos de sistema existentes que fizeram meu servidor linux não funcionar corretamente.

Como posso restaurar sem me deparar com problemas?

    
por Antonio Alimba 09.06.2014 / 15:01

4 respostas

1

Você pode usar o comando --skip-old-files para informar tar para não sobrescrever os arquivos existentes.

Você ainda pode ter problemas com os arquivos de backup, se as versões do software forem diferentes entre os dois servidores. Algumas mudanças na estrutura do arquivo de dados podem ter ocorrido e as coisas podem parar de funcionar.

Um processo de backup mais refinado deve ser desenvolvido.

    
por 09.06.2014 / 23:58
3

A menos que seja especificado o contrário O utilitário tar irá extrair os arquivos para a árvore original dentro do diretório atual, assim, por exemplo, você está em / home / antonio / recovery e você emite o comando

tar xvpfz backup.tgz

os arquivos serão recuperados em /home/antonio/recovery...

Se você usar a opção -C, isso diz ao tar para alterar o diretório e extrair os arquivos para uma árvore com raiz, por exemplo,

 tar xvpfz backup.tgz -C /tmp 

diria ao tar para mudar para / tmp e extrair os arquivos em /tmp/... .

    
por 09.06.2014 / 15:32
0

Dica: talvez você não queira restaurar tudo, apenas um arquivo ou diretório.

Use este comando para visualizar o conteúdo do backup:

tar -tzf backup.tgz | grep toys.db (ou o que você está procurando)

e suponha que retorne algo assim: ./home/myname/play/toys.db

Para restaurá-lo, você pode: tar -xvpzf backup.tgz -C / tmp ./home/myname/play/toys.db

    
por 10.06.2014 / 01:11
-2

arquivos ascii podem ser recuperados por

  • vá para o modo de usuário único. grep -ib "nome do arquivo '
  • / dev / whateverpartion_name > / tmp / somefile

veja / tmp / somefile e veja o que você quer copiar do / dev / para o local original.

se você estiver em ext2 mount, pode ser que você possa tentar recuperar o comando.

meu conselho de dois centavos para o futuro: por favor leia sempre man page para comando e argumentos antes de você realmente executar.

    
por 09.06.2014 / 15:30