자주자주 공지를 확인하세요!

라이믹스/매뉴얼/백업과 복원

Gaon12 (토론 / 기여)님의 2026년 10월 17일 (토) 09:19 판 (주제별 분류 적용: 사이트 운영; 상위 분류 중복 정리)
(차이) ← 이전 판 / 최신판 (차이) / 다음 판 → (차이)

상위 문서: 라이믹스/매뉴얼

백업의 범위

사이트 복구에는 DB와 파일의 같은 시점 자료가 필요하다. DB만 되돌리면 첨부파일 연결이 끊길 수 있고, 파일만 되돌리면 새 DB 구조와 예전 코드가 맞지 않을 수 있다. 이 문서는 라이믹스 운영에 덧붙이는 실무 안내이며 명령의 계정·경로·DB 이름은 예시이다.

대상 포함할 내용과 이유
데이터베이스 회원·문서·댓글·설정·확장 기능의 테이블. 테이블 접두사와 DB 문자 집합도 기록한다.
사이트 파일 코어 버전, 직접 수정한 코드, modules·addons·widgets·layouts·스킨 등 설치 자료와 files 아래 첨부·설정 자료. 숨김 파일과 실제 업로드 저장 위치도 확인한다.
외부 환경 웹 서버 가상 호스트·rewrite, PHP 설정, cron, 메일·저장소 연동, 별도 볼륨·오브젝트 저장소. 비밀값은 접근을 제한하여 별도로 보관한다.

Git 저장소만으로 첨부파일·DB·무시된 파일이 모두 보관되는 것은 아니다. 캐시는 재생성할 수 있어도 원본 업로드와 설정은 대체할 수 없다.

백업 전 준비

  1. 업데이트 전 현재 코어 버전, PHP·DB 버전, 설치 확장 기능을 기록한다.
  2. 쓰기 작업과 업로드를 잠시 중단하고 예약 작업·외부 연동도 같은 시점에 멈추는 방안을 마련한다. 단순 안내 페이지가 모든 백그라운드 쓰기를 막는다고 가정하지 않는다.
  3. 파일과 DB 백업의 시작·완료 시각을 기록한다. 서비스 중 무중단 백업은 스냅샷·DB 로그 등 별도 일관성 설계가 필요하다.
  4. 백업은 웹에서 내려받을 수 없는 위치에 저장하고 접근 권한·용량·보관 기간을 정한다. 서버 밖에도 복사본을 둔다.

MariaDB 덤프 예시

다음은 Linux 셸에서 InnoDB 중심 DB를 논리 백업하는 예시이다. 현재 환경의 도구 버전과 권한을 먼저 확인한다.

mariadb-dump --single-transaction --quick --routines --events --triggers \
  -u backup_user -p site_db > /srv/backup/site-db-20261016.sql

-p 뒤에 비밀번호를 붙이지 않고 프롬프트로 입력한다. 경로는 미리 생성한 비공개 백업 디렉터리로 바꾼다. 셸이 출력 파일을 만들거나 덮어쓰므로 실행마다 고유한 이름을 사용하고 종료 상태·오류 출력을 확인한다.

--single-transaction의 일관성 보장은 InnoDB 같은 트랜잭션 테이블에 해당한다. MyISAM·MEMORY 테이블에는 같은 보장을 하지 않으며, 덤프 중 ALTER·DROP·TRUNCATE 같은 구조 변경도 피해야 한다. 루틴·이벤트는 별도 옵션을 지정했으며 필요한 권한이 있어야 한다. MariaDB 공식 설명

MySQL은 해당 버전의 mysqldump 문서와 옵션을 확인한다. 서로 다른 DB 제품·주요 버전 사이의 복원 가능성을 가정하지 않는다. Windows에서 MariaDB 덤프를 만들 때는 공식 문서의 --result-file 안내도 확인한다.

복원 연습

백업 파일이 존재한다는 사실만으로 복구가 검증되지는 않는다. 먼저 운영과 분리된 환경에서 연습한다.

  1. 원래 환경과 호환되는 PHP·DB 및 같은 시점의 사이트 파일을 준비한다.
  2. 비어 있는 복원 전용 DB에 덤프를 가져온다. 덤프에는 DROP·CREATE 등 기존 데이터를 바꿀 문장이 들어갈 수 있으므로 운영 DB를 대상으로 연습하지 않는다.
  3. 복원용 DB 접속·도메인·경로를 설정한다. 실사용자에게 메일·SMS·푸시가 발송되지 않도록 테스트 환경의 외부 연동을 통제한다.
  4. 파일 소유자·쓰기 권한을 맞추고 필요한 캐시를 재생성한다.
  5. 로그인, 최근·과거 문서, 한글·이모지, 첨부 다운로드, 새 글·파일 업로드를 확인한다. 문서 수뿐 아니라 실제 파일과 본문 연결도 확인한다.
  6. 실제 소요 시간과 누락 자료를 기록하여 복구 절차를 갱신한다.

업데이트 실패 시 롤백

DB 업데이트가 수행되었다면 코어 파일만 예전 버전으로 덮어쓰는 방식으로 복구를 보장할 수 없다. 문제가 생긴 시점의 로그와 변경 내용을 보관하고, 사전에 검증한 같은 시점의 파일·DB로 되돌리는 절차를 사용한다. 백업 이후에 작성된 글·가입·업로드가 사라지는 범위를 먼저 파악한다.

같이 보기

참고 자료

최근 바뀜

더 보기