Kort svar: spara en hash av varje fil när du skriver säkerhetskopian, och kör kontrollen mot säkerhetskopian igen senare.
Om hasharna fortfarande stämmer finns byten kvar. Inget annat bevisar det.
Fyra saker går fel, och ingen av dem tillkännager sig själv:
Alla fyra ser likadana ut utifrån: en katalog full av filer med rimliga namn och datum.
När du skriver säkerhetskopian, anteckna vad du skrev:
find /Volumes/Backup/Documents -type f -exec shasum -a 256 {} + > ~/backup.sha256
Fråga senare om säkerhetskopian fortfarande stämmer med anteckningen:
shasum -a 256 -c ~/backup.sha256
Varje rad kommer tillbaka med OK eller FAILED. En fil som har försvunnit helt rapporteras som oläslig, vilket är det beteende du vill ha: en saknad fil är ett fel, inte en brist på bevis.
Förvara hashfilen någonstans som inte är säkerhetskopieringsdisken. En anteckning som sparas bredvid det den beskriver dör med den.
En separat fråga, och den som folk åker dit på. Den nyaste filen i säkerhetskopian visar när jobbet senast lyckades:
find /Volumes/Backup -type f -newermt '-7 days' | head
Ingen utdata betyder att inget har skrivits på en vecka. Om du förlitar dig på Time Machine, fråga den direkt:
tmutil latestbackup
Hashvärden visar att byten överlevde. De visar inte att du kan få ut en fil, eftersom det också beror på verktyget, indexet, krypteringsnyckeln och att du minns hur alla tre används. En eller två gånger om året: återställ några filer till en tillfällig mapp och öppna dem.
Välj en fil du faktiskt skulle sakna, inte ett testdokument. Poängen med övningen är att upptäcka att din återställningsnyckel står på en lapp i den Mac som säkerhetskopieras, och att upptäcka det en lugn tisdag.
En automatisk kontroll har tre egenskaper som den manuella inte har: den körs oavsett om du kommer ihåg det, den kontrollerar varje del, även dem du inte tänkte på, och den säger till i samma ögonblick som den misslyckas.
Copy Shelter läser tillbaka säkerhetskopian och kontrollerar varje del mot den hash den sparades under, rapporterar en raderad del som saknad och räknar bara kopior som den faktiskt har kontrollerat. Den säger också till efter 7 dagar utan en fungerande säkerhetskopia, vilket fångar det fjärde felet ovan, det vanliga.
shasum långsamt?Den läser varje byte, så den tar ungefär lika lång tid som att kopiera datan. Det är poängen: en kontroll som inte läser datan kan inte upptäcka en disk som inte lämnar tillbaka den.
Ja, och ett slumpmässigt urval är mycket bättre än ingenting. find ... | shuf -n 50 ger dig femtio filer att kontrollera, vilket snabbt avslöjar en disk som håller på att gå sönder eller ett jobb som har stannat, men inte en enskild skadad fil.
Lagringsleverantörer beräknar kontrollsummor för sina egna kopior, och det skyddar dig mot att deras diskar går sönder. Det skyddar dig inte mot en uppladdning som aldrig blev klar, en fil som redan var skadad när du skickade den eller en synkning som stannade. Kontrollen måste göras från din sida.
Skriv inte över säkerhetskopian. Gör först en andra kopia från din Mac till annan lagring och ta sedan reda på vilken av de två som är fel. En misslyckad kontroll av en säkerhetskopia som du direkt kör om är en misslyckad kontroll där du just har förstört bevisen.
En gång i månaden är en rimlig takt för en fullständig kontroll, en gång i veckan för ett urval och en eller två gånger om året för en verklig återställning. Allt som går enligt schema slår allt du måste komma ihåg.
Relaterat: 3-2-1-regeln för säkerhetskopior, och vad folk gör fel.