LabHub

백업과 복구 · 무결성 검증 · 실습

백업 검증 자동화

LabHub 에서 이어서 보기

목표

백업의 무결성을 세 단계로 검증하고, 단계별 종료 코드를 가진 검증 스크립트를 작성합니다.

왜 중요한가

"백업이 돌고 있다" 와 "백업이 유효하다" 는 다른 말입니다. 검증은 세 단계입니다 — 존재하는가, 읽히는가, 실제로 복구되는가. 앞의 둘은 자동화할 수 있고 그것만으로도 대부분의 조용한 실패를 잡습니다. 그리고 단계별로 다른 종료 코드를 주면 모니터링에서 어디서 깨졌는지 바로 알 수 있습니다 — "백업 검증 실패" 보다 "압축 스트림 손상" 이 훨씬 유용한 알람입니다.

단계

1. /root/bv 디렉터리를 만들고, /root/bk 아래의 .tar.gz 파일들에 대한 sha256 매니페스트를 /root/bv/manifest.sha256 으로 만드세요.
2. 매니페스트로 검증을 수행해 결과를 /root/bv/check.txt 로 저장하세요. 모든 줄이 정상이어야 합니다.
3. /root/bk/full.tar.gz 의 압축 스트림 무결성을 검사하고, 종료 코드를 /root/bv/gzip.txtrc=0 형식으로 적으세요.
4. 같은 파일의 아카이브 구조를 검사하고, 종료 코드를 /root/bv/tarlist.txtrc=0 형식으로 적으세요.
5. /root/bv/corrupt.tar.gz 를 만드세요. /root/bk/full.tar.gz 를 복사한 뒤 중간 바이트를 손상시켜야 합니다. 그리고 압축 검사가 실패하는 것을 확인해 출력을 /root/bv/corrupt-detected.txt 로 저장하세요.
6. /root/bv/last-success 파일에 현재 시각을 ISO 형식(date -Is)으로 기록하고, 그 파일이 24시간 이내인지 판정한 결과를 /root/bv/fresh.txtFRESH=yes 형식으로 적으세요.
7. /root/bv/verify.sh 를 작성하세요. 첫 번째 인자로 아카이브 경로를 받아 다음처럼 동작해야 합니다.

참고

단계 8개

  1. 체크섬 매니페스트
  2. 매니페스트 검증
  3. 압축 스트림 검사
  4. 아카이브 구조 검사
  5. 손상 재현과 탐지
  6. 최근 성공 시각 기록
  7. 단계별 검증 스크립트
  8. 검증 보고서