In breve: registra un hash di ogni file quando scrivi il backup, e ripeti il controllo sul backup più avanti.
Se gli hash corrispondono ancora, i byte ci sono ancora. Nient'altro lo dimostra.
Possono andare storte quattro cose, e nessuna si annuncia:
Da fuori sembrano tutte e quattro identiche: una cartella piena di file con nomi e date plausibili.
Quando scrivi il backup, registra cosa hai scritto:
find /Volumes/Backup/Documents -type f -exec shasum -a 256 {} + > ~/backup.sha256
Più avanti, chiedi se il backup corrisponde ancora a quel registro:
shasum -a 256 -c ~/backup.sha256
Ogni riga torna OK o FAILED. Un file sparito del tutto viene segnalato come illeggibile, che è il comportamento che vuoi: un file mancante è un errore, non un'assenza di prove.
Tieni il file degli hash da qualche parte che non sia il disco di backup. Un registro conservato accanto a ciò che descrive muore con esso.
Domanda separata, ed è quella che frega la gente. Il file più recente nel backup ti dice quando l'operazione è riuscita l'ultima volta:
find /Volumes/Backup -type f -newermt '-7 days' | head
Nessun output significa che non è stato scritto niente in una settimana. Se ti affidi a Time Machine, chiedilo direttamente a lui:
tmutil latestbackup
Gli hash dimostrano che i byte sono intatti. Non dimostrano che puoi recuperare un file, perché questo dipende anche dallo strumento, dall'indice, dalla chiave di cifratura e dal tuo ricordo di come usarli tutti e tre. Una o due volte l'anno, ripristina qualche file in una cartella di prova e aprilo.
Scegli un file che ti mancherebbe davvero, non un documento di prova. Lo scopo dell'esercizio è scoprire che la tua chiave di recupero è su una nota nel Mac di cui fai il backup, e scoprirlo in un martedì tranquillo.
Un controllo automatico ha tre caratteristiche che la versione manuale non ha: viene eseguito che tu te ne ricordi o no, controlla ogni pezzo compresi quelli a cui non avevi pensato, e ti avvisa nel momento in cui fallisce.
Copy Shelter rilegge il backup e controlla ogni pezzo con l'hash con cui è stato salvato, segnala come mancante un pezzo eliminato e conta solo le copie che ha davvero controllato. Si fa anche sentire dopo 7 giorni senza un backup riuscito, il che scopre il quarto guasto qui sopra, quello comune.
shasum è lento?Legge ogni byte, quindi ci mette più o meno quanto copiare i dati. È proprio questo il punto: un controllo che non legge i dati non può accorgersi di un disco che non riesce a restituirli.
Sì, e un campione casuale è molto meglio di niente. find ... | shuf -n 50 ti dà cinquanta file da controllare, il che scopre presto un disco che si guasta o un'operazione ferma, anche se non un singolo file danneggiato.
I provider di archiviazione fanno il checksum delle proprie copie, e questo ti protegge dai guasti dei loro dischi. Non ti protegge da un caricamento mai finito, da un file già danneggiato quando l'hai inviato o da una sincronizzazione che si è fermata. Il controllo deve avvenire dalla tua parte.
Non sovrascrivere il backup. Fai prima una seconda copia dal Mac su un altro spazio, poi capisci quale dei due è sbagliato. Un controllo fallito su un backup che riesegui subito è un controllo fallito di cui hai appena distrutto le prove.
Una volta al mese è un ritmo ragionevole per un controllo completo, ogni settimana per un campione, e una o due volte l'anno per un vero ripristino. Qualsiasi cosa pianificata batte qualsiasi cosa di cui devi ricordarti.
Vedi anche: la regola di backup 3-2-1, e dove si sbaglia.