복사 성공 메시지와 쓸 수 있는 복구는 같지 않다.
백업은 급한 날이 오기 전까지 조용히 기다린다. 그때 잘못된 폴더나 빠진 버전, 열리지 않는 파일을 발견하면 곤란하다. 작은 연습은 불확실성 일부를 평범한 오후로 옮긴다. 작업 파일은 보호하면서 돌아오는 경로를 시험해야 한다.
돌아와야 할 일이 생기기 전에 돌아오는 길을 읽어 보자.
배울 수 있는 표본 고르기
짧은 메모, 데이터 두 행의 CSV, 작은 SVG 그림을 새로 만들었다. 개인 정보는 없다. 백업 폴더로 복사한 뒤 별도의 복원 폴더로 다시 복사하고 원본은 남겼다. 목적지를 나누면 되돌릴 수 있으며 검증이 파괴적인 교체가 되는 것을 피한다.
문자와 구조화된 행, 그림을 대표하지만 컴퓨터 전체는 아니다. 실제 자료에는 앱 데이터베이스, 암호화 자료, 연결 미디어도 있을 수 있다. 필요한 복구를 반영하는 표본을 고르고 단순 복사가 일관된 상태를 보장하지 못하면 앱의 백업 지침을 따른다.
목록은 두 가지를 묻는다
스크립트가 원본마다 이름과 SHA-256 해시를 기록하고 복원 폴더에서 같은 목록을 만든다. 세 이름이 모두 있고 해시도 일치했다. 해시는 바이트의 압축된 지문이다. 여기서 일치는 비교한 파일 내용이 복사 중 바뀌지 않았다는 강한 근거다.
이름 집합도 중요하다. 복원 폴더에 있는 파일만 비교하면 누락된 파일은 검사 대상에 들어오지 않을 수 있다. 의도한 원본 표본에서 만든 예상 목록은 선택한 것이 모두 돌아왔는지, 돌아온 각 항목의 바이트가 맞는지 함께 묻는다.

의도한 실패도 확인하기
원본을 바꾸거나 지우지 않고 목록 모형 두 개를 변형했다. 하나에서는 CSV 항목을 빼고 다른 하나에서는 가상 메모를 바꾼 내용의 해시를 대신 넣었다. 비교는 빠진 표와 다른 메모를 찾아냈다. 백업 제품의 결함이나 실제 사고가 아니라 의도적으로 만든 실패다.
예상한 실패를 보면 검사가 주장하는 문제를 실제로 알아낼 수 있는지 확인할 수 있다. 어떤 입력도 초록색이 된다면 성공은 별 의미가 없다. 다섯 검사는 전체 복원, 세 파일 수, 누락, 내용 변경, 원본 보존을 다룬다.
바이트 이후의 사용 가능성
바이트 일치가 원본 버전의 적절성, 필요한 모든 폴더의 선택, 앱에서 열리는지를 보장하지는 않는다. 문서가 외부 글꼴이나 자원에 의존하고 압축 자료가 키를 요구할 수 있다. 데이터베이스는 쓰는 중의 단순 복사 대신 앱 상태를 고려한 백업이 필요할 수 있다.
적절하면 대상 프로그램에서 복원 파일 몇 개를 열고 내용과 버전 맥락을 본다. 암호화 자료는 키를 노출하지 않으면서 필요한 키에 접근할 복구 경로도 확인한다. 평소 기기를 잃어도 백업을 읽는 유일한 방법까지 잃지 않게 접근 계획을 분리한다.

자료의 가치에 맞는 연습
작은 시험을 거대한 재해 훈련으로 만들 필요는 없다. 오늘 이 파일들을 되찾을 수 있는지만 물어도 된다. 중요한 시스템은 더 넓은 복구, 권한 검사, 시간 목표가 필요할 수 있다. 작은 표본의 성공을 조직 전체의 인증처럼 보지 않도록 범위를 밝힌다.
백업 프로그램이나 중요 폴더, 기기를 바꾼 후 적절한 검사를 반복한다. 어떤 사본을 사용했고 충분히 최신이었는지 기록하자. 대체본을 신뢰하기 전에는 원본을 남긴다. 높은 점수보다 문제가 강요하기 전에 절차와 한계를 설명할 수 있는 복구 과정이 유용하다.
더 읽어 보기
NIST: Contingency planning guide ↗Python: hashlib ↗CISA: Data backup options ↗공식 문서와 함께 읽으면 좋은 자료입니다.
