워드프레스 백업 복원 테스트: DB·업로드·설정을 새 환경에서 대조하기
AI Editter
백업 플러그인에 성공 표시가 있어도 서버 장애 뒤 사이트를 되살릴 수 있는지는 별도 문제입니다. DB만 있고 업로드 파일이 없거나, 파일은 있는데 설정과 암호화된 자격 증명을 복구하지 못하면 일부 기능이 멈춥니다.
복원 시험은 원본 운영 사이트와 분리된 환경에서 수행합니다. 목표는 첫 화면을 띄우는 것뿐 아니라 글·이미지·로그인·예약 작업·필요한 연동이 돌아오는지 확인하는 것입니다.
백업 한 세트에 무엇이 들어 있는지 확인
| 구성 | 확인할 내용 |
|---|---|
| DB | 글·설정·사용자·메타·플러그인 테이블 |
| 업로드 | 원본 이미지·첨부·생성된 크기 |
| 테마·플러그인 | 사용 버전·자체 수정·의존성 |
| 설정 | wp-config와 환경별 비밀값의 복구 경로 |
| 서버 | PHP 확장·웹서버 규칙·권한·작업 스케줄 |
WordPress 공식 문서는 DB 백업과 파일 백업을 구분합니다. 둘의 시점이 크게 다르면 글은 있는데 이미지가 없거나 플러그인 코드와 DB 구조가 맞지 않을 수 있습니다.
백업에는 생성 시각, 사이트 식별, 버전 목록, 파일 검증값을 함께 보관합니다. 비밀값이 포함된 파일은 공개 웹 경로에 두지 않습니다.
복원 환경을 먼저 격리
시험 사이트에는 접근 제한을 걸고 검색 노출을 막습니다. noindex만으로 비공개 자료를 보호할 수는 없으므로 인증이나 네트워크 제한이 필요합니다. 복사한 사이트가 운영 결제·메일·웹훅을 실행하지 않도록 외부 연동과 예약 작업을 통제합니다.
운영 DB의 접속 정보를 그대로 둔 채 시험 사이트를 실행하면 원본을 수정할 수 있습니다. 새 DB와 새 자격 증명, 별도 저장 경로를 확인한 뒤 기동합니다.
파일과 DB를 복원하고 주소를 점검
빈 시험 DB에 백업을 가져오고 대응하는 파일을 배치합니다. DB 사용자 권한, 파일 소유권, PHP 확장, 웹서버 문서 루트와 고유주소 규칙을 확인합니다.
주소가 달라지는 시험에서는 단순 텍스트 치환이 PHP 직렬화 데이터 등을 손상시킬 수 있습니다. WP-CLI search-replace처럼 해당 구조를 처리하는 도구를 사용하고 먼저 dry run으로 범위를 확인합니다.
wp --path=/srv/restore-test search-replace \
'https://old.example.com' 'https://restore.example.com' \
--skip-columns=guid --dry-run
예시 경로와 주소를 실제 시험 환경으로 바꾸고, 연결된 DB가 시험 DB인지 먼저 확인합니다. 기본 대상 테이블 범위와 멀티사이트 조건은 WP-CLI search-replace 문서에서 확인합니다. dry run 결과를 검토한 뒤 필요한 범위에만 실제 치환합니다.
콘텐츠 수와 실제 화면을 함께 확인
| 검사 | 방법 |
|---|---|
| 글·페이지 | 상태별 건수와 대표 글 확인 |
| 첨부 | 원본·축소 이미지와 다운로드 |
| 분류·작성자 | 카테고리·태그·작성자 연결 |
| 로그인 | 관리자와 일반 사용자 동작 |
| 검색·폼 | 실제 검색과 시험 제출 |
| 예약 작업 | 대상 시각·실행 경로·결과 |
건수는 백업 시점의 기준과 비교합니다. 최신 운영 사이트에는 백업 이후 글이 추가됐을 수 있으므로 무조건 같아야 하는 것은 아닙니다. 한글 파일명, 오래된 첨부, 커스텀 글 유형, 다국어 연결도 사이트가 사용하는 범위에서 확인합니다.
대표 글은 제목과 본문만 아니라 목차, 이미지, 코드, 표, 내부 링크, 메타 설명과 canonical까지 확인합니다. 별도 프런트엔드를 쓰는 사이트라면 WordPress 관리자 화면과 실제 공개 화면을 모두 검증합니다.
캐시와 예약 작업은 복원 후 별도 점검
캐시가 예전 주소나 이전 내용을 보여 줄 수 있으므로 페이지·객체·CDN 캐시의 적용 범위를 확인합니다. 시험을 위해 운영 전체 캐시를 무작정 비우지 않습니다.
WP-Cron 또는 시스템 스케줄러가 실제로 시험 사이트를 대상으로 하는지 확인합니다. 복사한 예약 작업이 운영 메일을 보내거나 외부 API를 호출하지 않도록 통제한 뒤 안전한 시험 작업으로 실행을 확인합니다.
복원 시간에 업무 확인 시간까지 포함
백업 다운로드, 파일 복원, DB 가져오기, 설정 조정, 화면과 업무 검증 시간을 각각 기록합니다. 서버가 켜지는 데 걸린 시간만 복구 시간으로 보고하지 않습니다.
복원에 실패한 플러그인이나 누락된 파일은 백업 방식의 개선 항목입니다. 필요한 비밀 저장소나 DNS 권한을 담당자 한 명만 갖고 있다면 인수인계도 복구 계획에 포함합니다.
시험이 끝나면 결과와 사용한 백업 식별자를 남기고 임시 리소스를 정리합니다. 다음 백업 세트로 다시 시험할 주기를 정하면 버전 변경이나 신규 플러그인 때문에 복구가 깨지는 것을 조기에 발견할 수 있습니다.