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á.
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).
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á.
--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
.