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 .