Verificando um backup .tar.gz

3

Editar 3: Para as pessoas que lerem esta pergunta: --verify falha misteriosamente com "Aviso: não é possível procurar: busca ilegal" , por isso recomendo que você procure formas alternativas de verificar seus arquivos. Minha pergunta original segue.

Antes de restaurá-lo, qual é a maneira correta de garantir a integridade de um backup .tar.gz ? Estou usando GNU tar .

De acordo com a página man de tar e com o que eu li por aí, tar oferece uma opção --verify ao criar um arquivo e uma opção --diff para encontrar diferenças entre um arquivo existente e o sistema de arquivos .

É uma verificação com --diff redundante logo após criar um arquivo com --verify ? Ou é --diff mais confiável e, portanto, um --verify anterior é redundante, a menos que você queira que seu procedimento de backup falhe rapidamente?

Também devemos invocar gzip --test para verificar o .gz arquivamento ou o tar executará essa verificação por conta própria, com --verify e --diff ? Eu diria que sim.

Obrigado pela sua atenção.

Editar: Como sugerido por Lgeorget, também posso armazenar um hash do arquivo, para verificar no momento da restauração que o arquivo não foi corrompido.

Editar 2: Portanto, aparentemente, --verify seria suficiente. Talvez eu possa usar tar --list para verificar se o arquivo é legível e extraível. Também me pergunto se --diff verifica o conteúdo dos arquivos ou apenas seus nomes (e possivelmente atributos).

    
por Elena 11.07.2013 / 16:08

2 respostas

2

Sim, um diff após uma verificação é redundante, e não, não há sentido para gzip --test , já que a primeira coisa que o tar precisa fazer para ler o arquivo é atualizá-lo, então qualquer problema com a compressão causaria um erro. falha lá.

    
por 11.07.2013 / 20:03
2

--diff é mais destinado a fins de backups. Por exemplo, para verificar se é necessário tar de um diretório novamente quando você planeja um backup periódico.

Eu não tenho idéia sobre a eficiência da opção --verify . Se tiver dúvidas ou quiser verificar a integridade do seu tar mais tarde, você pode usar um hash.

Por exemplo:

> sha1sum etc.tar.gz 
b30d837c623274908de2ebaceb72b07c54037546  etc.tar.gz

Em seguida, armazene esta linha em um arquivo (vamos chamá-lo de etc.tar.gz.checksum ). E quando você quiser verificar a integridade, mova esse arquivo para o diretório em que etc.tar.gz é e execute:

> sha1sum -c etc.tar.gz.checksum 
etc.tar.gz: OK

sha1sum é fornecido com openssl .

    
por 11.07.2013 / 16:19

Tags