Resposta curta: registre um hash de cada arquivo ao gravar o backup e rode a verificação de novo no backup depois.
Se os hashes ainda conferem, os bytes ainda estão lá. Nada mais prova isso.
Quatro coisas dão errado, e nenhuma delas se anuncia:
Os quatro parecem idênticos por fora: uma pasta cheia de arquivos com nomes e datas plausíveis.
Ao gravar o backup, registre o que você gravou:
find /Volumes/Backup/Documents -type f -exec shasum -a 256 {} + > ~/backup.sha256
Depois, pergunte se o backup ainda confere com esse registro:
shasum -a 256 -c ~/backup.sha256
Cada linha volta como OK ou FAILED. Um arquivo que sumiu por completo é informado como ilegível, que é o comportamento que você quer: um arquivo ausente é uma falha, não falta de prova.
Guarde o arquivo de hashes em um lugar que não seja o disco de backup. Um registro guardado ao lado do que ele descreve morre junto.
Outra questão, e é a que pega as pessoas. O arquivo mais novo no backup mostra quando a tarefa funcionou pela última vez:
find /Volumes/Backup -type f -newermt '-7 days' | head
Nenhuma saída significa que nada foi gravado em uma semana. Se você depende do Time Machine, pergunte diretamente a ele:
tmutil latestbackup
Hashes provam que os bytes sobreviveram. Não provam que você consegue recuperar um arquivo, porque isso também depende da ferramenta, do índice, da chave de criptografia e de você lembrar como usar os três. Uma ou duas vezes por ano, restaure alguns arquivos numa pasta de rascunho e abra-os.
Escolha um arquivo de que você realmente sentiria falta, não um documento de teste. O objetivo do exercício é descobrir que sua chave de recuperação está em uma nota no Mac do qual se faz o backup, e descobrir isso em uma terça-feira tranquila.
Uma verificação automática tem três propriedades que a versão manual não tem: roda quer você se lembre ou não, confere cada parte, incluindo as que você não lembrou, e avisa no momento em que falha.
O Copy Shelter lê o backup de volta e confere cada parte com o hash com que foi guardada, informa uma parte apagada como ausente e só conta as cópias que de fato conferiu. Ele também avisa depois de 7 dias sem um backup que funcionou, o que pega a quarta falha acima, a mais comum.
shasum é lento?Ele lê cada byte, então leva mais ou menos o tempo de copiar os dados. Essa é a ideia: uma verificação que não lê os dados não consegue detectar um disco que falha ao devolvê-los.
Sim, e uma amostra aleatória é muito melhor que nada. find ... | shuf -n 50 dá cinquenta arquivos para conferir, o que pega rápido um disco falhando ou uma tarefa parada, embora não um único arquivo corrompido.
Os provedores de armazenamento fazem checksum das próprias cópias, e isso protege você contra falhas nos discos deles. Não protege contra um envio que nunca terminou, um arquivo que já estava corrompido quando você o enviou ou uma sincronização que parou. A verificação precisa acontecer do seu lado.
Não sobrescreva o backup. Faça primeiro uma segunda cópia do seu Mac em outro armazenamento, depois descubra qual dos dois está errado. Uma verificação que falhou em um backup que você roda de novo na hora é uma verificação cuja prova você acabou de destruir.
Mensalmente é um ritmo razoável para uma verificação completa, semanalmente para uma amostra, e uma ou duas vezes por ano para uma restauração de verdade. Qualquer coisa programada é melhor que qualquer coisa de que você precise se lembrar.
Relacionado: a regra de backup 3-2-1, e o que as pessoas erram.