Point-in-time recovery, 즉 특정 시점 복구는 WordPress 및 WooCommerce 사이트의 데이터베이스를 어제 백업이 실행된 시점만이 아니라 선택한 특정 분 시점 그대로 재구성할 수 있게 해줍니다. 이 가이드에서는 이 기능이 다루는 범위와 다루지 않는 범위, 활성화 방법, 복구 요청 방법, 그리고 복구가 정확히 무엇에 영향을 미치는지를 설명합니다.
용도
일일 백업은 하루에 한 번의 복구 지점만을 제공합니다. 이는 대부분의 장애 상황에는 적합하지만, 오후 2시 15분에 잘못된 가져오기, 손상된 플러그인, 혹은 실수로 인한 일괄 편집이 실행되고 오후 4시에야 그것을 알아차린 특정 상황에서는 쓸모가 없습니다. 어제 백업을 복구하면 실수와 함께 그날 오전 내내 이루어진 정상적인 작업까지 모두 사라지게 됩니다.
특정 시점 복구는 이 공백을 메워줍니다. 이 기능을 활성화하면 데이터베이스의 변경 로그가 지속적으로 오프사이트 저장소로 전송되므로, 보관 기간 내의 어떤 분 단위 시점까지도 복구를 재현할 수 있습니다.
KPanel에서의 위치
- KPanel에 로그인합니다.
- 왼쪽 사이드바에서 웹사이트를 클릭한 다음 해당 사이트를 클릭합니다.
- 사이트의 왼쪽 메뉴에서 백업를 연 다음 특정 시점 복구를 엽니다.
직접 접속 주소는 /websites/<site-id>/pitr 입니다.

이용 자격
특정 시점 복구 기능을 사용하려면 두 가지 조건이 충족되어야 합니다.
사용 중인 요금제에 이 기능이 포함되어 있어야 합니다. 이 기능은 WordPress 요금제 계열에서 제공됩니다.
사이트가 WordPress 또는 WooCommerce 사이트여야 합니다. 이 메커니즘이 관리형 데이터베이스에 의존하기 때문입니다.
두 조건 중 하나라도 충족되지 않으면 페이지에 그 사실이 명확히 표시됩니다. 특정 시점 복구는 관리형 데이터베이스를 사용하는 WordPress 및 WooCommerce 사이트에서만 제공됩니다. 이 경우 설정할 항목은 없습니다.
활성화하기
PITR 상태 카드에는 상태 표시기, 사용 중인 백엔드, 마지막 변경 로그가 전송된 시점, 그리고 일 단위 보관 기간이 현재 상태로 표시됩니다.
PITR 활성화를 클릭하면 기능이 켜집니다. 보관 기간은 30일입니다.
활성화한다고 해서 데이터가 변경되는 것은 아닙니다. 이는 기존의 일일 백업과 함께 실행되는 지속적인 전송 프로세스를 시작하는 것일 뿐, 일일 백업을 대체하지는 않습니다.
활성화 직후에는 복구 지점이 존재하지 않습니다. 복구를 재현하려면 먼저 전송이 최소 한 번은 실행되어야 하며, 첫 전송은 약 5분 이내에 이루어집니다. 그때까지는 아직 복구 지점이 없다는 안내가 페이지에 표시됩니다.
복구 창 확인하기
전송이 실행 중이면 사용 가능한 복구 창 카드에 복구 가능한 가장 이른 시점과 가장 늦은 시점, 그리고 이를 보장하기 위해 보관 중인 변경 로그 파일의 개수가 표시됩니다.
이 정보는 사고가 발생한 도중이 아니라 미리 확인해 두어야 합니다. 복구 창의 시작 시점이 예상보다 늦다면, 어느 시점에 전송이 중단되어 이전 보관 범위가 만료된 것입니다.
복구 요청하기
- 특정 시점 복구 탭을 엽니다.
- 원하는 시점이 복구 창에 포함되어 있는지 확인합니다.
- 복구할 타임스탬프에서 날짜와 시간을 선택합니다. 손상이 발생한 시점 이후가 아니라 바로 직전의 시점을 선택하십시오.
- 스테이징 DB로 복구 요청을 클릭합니다.
요청은 즉시 검증됩니다. 타임스탬프가 사용 가능한 복구 창을 벗어난 경우, 추측에 맡겨지지 않고 정확한 복구 창이 안내됩니다.
복구가 실제로 수행하는 작업
이 부분은 정확히 알아두어야 합니다. 대부분의 사람들이 예상하는 것과 정반대이기 때문입니다.
특정 시점 복구는 운영 중인 라이브 데이터베이스에 영향을 주지 않습니다. 복구는 이 목적을 위해 새로 생성되는 별도의 스테이징 데이터베이스로 이루어지며, 이름은 도메인과 대상 날짜를 기준으로 지정됩니다. 라이브 사이트는 그동안 변경 없이 자체 데이터베이스에서 계속 운영됩니다.
복구를 요청한다고 해서 아무것도 덮어쓰여지지 않고, 아무것도 삭제되지 않으며, 어떠한 데이터도 손실되지 않습니다. 이는 의도된 설계입니다. 데이터 복구 도구의 핵심은 그것을 사용한다고 해서 상황이 더 나빠질 수 없어야 한다는 점입니다.
결과적으로 얻게 되는 것은 검토 가능한 데이터베이스입니다. 이를 라이브 데이터베이스와 비교하거나, 손상된 행만 추출하거나, 혹은 스냅숏 전체를 원하는 버전으로 결정할 수 있습니다. 스테이징 복구본을 라이브 데이터베이스보다 우선 적용하는 전환 작업은 버튼 하나로 뒤에서 처리되는 것이 아니라, 저희 팀이 고객과 함께 진행하는 별도의 신중한 단계입니다.
복구된 데이터베이스로 전환하면 복구 시점 이후 라이브 데이터베이스에 기록된 모든 내용이 실제로 폐기됩니다. 그 타임스탬프 이후에 접수된 주문, 남겨진 댓글, 편집된 콘텐츠는 오직 라이브 데이터베이스에만 존재합니다. 전환을 진행하기 전에 무엇을 유지해야 하는지 결정하고 이를 명확히 전달하십시오. 바로 이러한 이유로 복구 결과가 먼저 스테이징에 적용되는 것입니다.
요청 추적하기
모든 요청은 복구 요청 표에 표시됩니다.
| 열 | 표시 내용 |
|---|---|
| Requested | 요청한 시점 |
| Target | 요청한 복구 대상 타임스탬프 |
| Status | 요청의 현재 진행 상태 |
| 스테이징 DB | 복구 대상이 되는 데이터베이스의 이름 |
복구가 진행 중인 동안 상태에는 현재 단계가 표시되며, 재현이 시작되면 전체 중 몇 개의 변경 로그 파일이 적용되었는지도 함께 표시됩니다. 요청이 실패한 경우 그 아래에 오류 내용이 표시됩니다.
사이트당 한 번에 하나의 복구만 진행될 수 있습니다. 이미 하나가 실행 중인 동안 두 번째 요청을 하면 대기열에 추가되는 대신 충돌로 처리되어, 두 번째 시도가 첫 번째 복구를 손상시킬 수 없습니다.
저희 엔지니어링 팀이 스테이징 복구를 완료하고 스테이징 데이터베이스가 준비되면 이메일로 알려드립니다. 요청이 접수되면 대상 타임스탬프와 스테이징 데이터베이스 이름이 포함된 확인 이메일도 받으시게 됩니다.
올바른 타임스탬프 선택하기
손상이 시작된 시점을 파악하십시오. 알아차린 시점이 아닙니다. 이 두 시점은 보통 몇 시간씩 차이가 납니다. 활동 로그, 주문 타임스탬프, 혹은 마지막으로 정상이었던 콘텐츠 편집 시점을 확인하십시오.
1~2분 더 이른 시점을 목표로 하십시오. 손상 발생 직전의 복구 지점을 선택하면 정상적인 데이터 몇 분 분량만 희생하게 됩니다. 반대로 직후의 시점을 선택하면 손상된 내용까지 그대로 복구됩니다.
복구 지점 이후에 일어난 일들을 기록해 두십시오. 주문, 가입, 댓글, 양식 제출 등입니다. 전환을 진행할 경우 이 목록이 수동으로 다시 반영해야 할 항목이 됩니다.
문제 해결
페이지에 PITR은 WordPress 및 WooCommerce에서만 사용할 수 있다고 표시됩니다. 해당 사이트가 이러한 유형이 아니거나, 사용 중인 요금제에 이 기능이 포함되어 있지 않은 경우입니다.
아직 복구 지점이 없습니다. 활성화 후 전송이 최소 한 번은 실행되어야 합니다. 첫 전송은 약 5분 이내에 이루어집니다.
원하는 대상 시점이 사용 가능한 복구 창을 벗어납니다. 보관 기간은 30일이며, 전송이 중단된 적이 있는 경우 복구 창이 더 짧을 수 있습니다. 오류 메시지에 정확한 범위가 표시됩니다. 필요한 시점이 보관 기간을 벗어났다면 일일 백업을 대신 사용하십시오. 백업에서 복원하기를 참고하십시오.
이미 복구가 진행 중입니다. 완료될 때까지 기다리십시오. 표에 현재 단계와 진행 상황이 표시됩니다.
상태에 전송 프로세스 관련 배너가 표시됩니다. 요청은 정상적으로 기록되어 있으며, 메시지에 현재 상태가 설명되어 있습니다. 손실된 것은 없습니다.
데이터베이스가 아니라 파일을 복구해야 합니다. 이 경우 PITR은 도움이 되지 않습니다. 파일 백업을 사용하십시오. 참고로 완료된 백업은 전체를 복원하는 대신 파일별로 조회하는 것도 가능합니다.
관련 페이지
- 이와 함께 실행되는 일일 파일 및 데이터베이스 백업에 대해서는 백업 생성하기를 참고하십시오.
- 사이트 전체 복원 절차에 대해서는 백업에서 복원하기를 참고하십시오.
- 변경 사항을 운영 환경에 반영하기 전 테스트하는 방법에 대해서는 스테이징 환경을 참고하십시오.
- 데이터 손실이 실수가 아니라 침해로 인해 발생한 경우에는 사이트 보안을 참고하십시오.
사고가 진행 중이며 어떤 도구를 사용해야 할지 확실하지 않은 경우, KPanel의 지원를 통해 문의하시거나 사이트 이름과 문제가 시작된 시각을 적어 support@kapsulehost.com으로 이메일을 보내주십시오.