짧게 답하면: 백업을 쓸 때 모든 파일의 해시를 기록하고, 나중에 백업에 대해 다시 확인하세요.
해시가 여전히 일치한다면 바이트는 여전히 있어요. 다른 어떤 것도 이를 증명하지 못해요.
잘못될 수 있는 네 가지가 있고, 어느 것도 스스로 알리지 않아요.
네 가지 모두 겉으로는 똑같아 보여요. 그럴듯한 이름과 날짜의 파일로 가득한 디렉터리예요.
백업을 쓸 때 쓴 내용을 기록하세요.
find /Volumes/Backup/Documents -type f -exec shasum -a 256 {} + > ~/backup.sha256
나중에 백업이 여전히 그 기록과 일치하는지 확인하세요.
shasum -a 256 -c ~/backup.sha256
모든 줄이 OK 또는 FAILED로 나와요. 완전히 사라진 파일은 읽을 수 없다고 보고되는데, 이게 원하는 동작이에요. 없어진 파일은 증거가 없는 게 아니라 실패예요.
해시 파일은 백업 디스크가 아닌 곳에 보관하세요. 설명하는 대상 옆에 저장된 기록은 그 대상과 함께 사라져요.
별개의 질문이고, 사람들이 당하는 건 이쪽이에요. 백업에서 가장 최근 파일이 작업이 마지막으로 성공한 때를 알려줘요.
find /Volumes/Backup -type f -newermt '-7 days' | head
출력이 없으면 일주일 동안 아무것도 쓰이지 않았다는 뜻이에요. Time Machine에 의존한다면 직접 물어보세요.
tmutil latestbackup
해시는 바이트가 살아남았음을 증명해요. 파일을 다시 꺼낼 수 있다는 증명은 아니에요. 그건 도구, 색인, 암호화 키, 그리고 셋을 쓰는 방법을 기억하는지에 달려 있어요. 1년에 한두 번 파일 몇 개를 임시 폴더에 복원해서 열어 보세요.
테스트 문서가 아니라 실제로 아쉬울 파일을 고르세요. 이 연습의 목적은 복구 키가 백업 대상 Mac의 메모에 있다는 사실을, 조용한 화요일에 알아내는 거예요.
자동 확인에는 수동 확인에 없는 세 가지 특성이 있어요. 기억하든 안 하든 실행되고, 미처 생각하지 못한 조각까지 모두 확인하고, 실패하는 순간 알려줘요.
Copy Shelter는 백업을 다시 읽어 모든 조각을 저장할 때의 해시와 비교하고, 삭제된 조각은 누락으로 보고하며, 실제로 확인한 사본만 사본으로 쳐요. 성공한 백업 없이 7일이 지나면 알려주기도 하는데, 위의 네 번째이자 가장 흔한 실패를 잡아내요.
shasum은 느린가요?모든 바이트를 읽으므로 데이터를 복사하는 것만큼 걸려요. 그게 핵심이에요. 데이터를 읽지 않는 확인은 데이터를 돌려주지 못하는 디스크를 감지할 수 없어요.
네, 무작위 표본이라도 없는 것보다 훨씬 나아요. find ... | shuf -n 50으로 확인할 파일 50개를 뽑을 수 있고, 손상된 파일 하나는 못 잡아도 고장 나는 디스크나 멈춘 작업은 빠르게 잡아내요.
저장소 제공업체는 자체 사본의 체크섬을 확인하고, 그건 그들의 디스크 고장으로부터 보호해 줘요. 끝나지 않은 업로드, 보낼 때 이미 손상된 파일, 멈춘 동기화로부터는 보호하지 않아요. 확인은 내 쪽에서 해야 해요.
백업을 덮어쓰지 마세요. 먼저 Mac에서 다른 저장소로 두 번째 사본을 만든 다음, 둘 중 어느 쪽이 잘못됐는지 알아내세요. 실패한 확인 직후 백업을 다시 실행하면 방금 증거를 없앤 실패가 돼요.
전체 확인은 매달, 표본 확인은 매주, 실제 복원은 1년에 한두 번이 합리적인 주기예요. 예약된 것은 무엇이든 기억해야 하는 것보다 나아요.
관련 글: 3-2-1 백업 규칙, 그리고 사람들이 잘못 아는 것.