본문으로 건너뛰기

백업 및 복원

정기적으로 앱을 백업하면 데이터 손실, 업데이트 실패 또는 설정 오류로부터 복구할 수 있습니다. PCS는 관리자 패널을 통한 내장 백업 및 복원 기능을 제공합니다.

백업 작동 방식​

PCS의 각 앱은 /DATA/AppData/<앱-이름>/ 하위 폴더에 데이터를 저장합니다. 백업을 생성하면 관리자 패널이:

  1. 앱의 전체 데이터 폴더를 zip 아카이브로 생성합니다.
  2. zip 파일을 /DATA/AppData/ 아래에 앱 데이터와 함께 저장합니다.
  3. 생성 시점을 기록하여 백업을 식별할 수 있게 합니다.

백업은 앱에 필요한 모든 것을 캡처합니다: 데이터베이스, 설정 파일, 업로드된 미디어, 설정값.

백업 생성하기​

관리자 패널에서​

  1. 관리자 패널 → 앱으로 이동합니다.
  2. 백업할 앱을 찾습니다.
  3. 앱 옆의 백업 버튼을 클릭합니다.
  4. 백업이 완료될 때까지 기다립니다 — 데이터가 많은 앱(사진 라이브러리, 미디어 서버 등)은 시간이 걸릴 수 있습니다.
  5. 완료되면 상단의 백업 수에 반영됩니다.

터미널에서​

더 세밀한 제어가 필요하면 수동으로 백업을 생성할 수 있습니다:

# 일관된 백업을 위해 먼저 앱을 중지
cd /DATA/AppData/<앱-이름>
docker compose down

# 타임스탬프가 포함된 백업 생성
tar -czf /DATA/AppData/<앱-이름>-backup-$(date +%Y%m%d).tar.gz .

# 앱 재시작
docker compose up -d
경고

수동 백업 전에 항상 앱을 중지하세요. 앱이 실행 중인 상태에서 백업하면 데이터베이스가 손상되거나 파일이 불완전할 수 있습니다.

백업에서 복원하기​

관리자 패널에서​

  1. 관리자 패널 → 앱으로 이동합니다.
  2. 복원할 앱을 찾습니다.
  3. 복원 버튼을 클릭합니다.
  4. 복원할 백업을 선택합니다.
  5. 복원을 확인합니다 — 현재 앱 데이터가 백업으로 대체됩니다.

터미널에서​

# 앱 중지
cd /DATA/AppData/<앱-이름>
docker compose down

# 현재 데이터 삭제 (주의!)
rm -rf /DATA/AppData/<앱-이름>/*

# 백업 추출
tar -xzf /DATA/AppData/<앱-이름>-backup-20260728.tar.gz -C /DATA/AppData/<앱-이름>/

# 앱 재시작
docker compose up -d

언제 백업해야 하나요?​

다음 상황에서 백업을 생성하세요:

  • 앱 업데이트 전 — 업데이트가 잘못되면 롤백할 수 있습니다.
  • 앱 설정 변경 전 — 특히 데이터베이스 설정이나 인증 관련.
  • 정기적으로 — 중요한 앱은 매주, 덜 중요한 앱은 매월.
  • PCS 마이그레이션 전 — 마이그레이션이 모든 데이터를 복사하지만, 추가 백업이 있으면 보험이 됩니다.

오프사이트 백업​

PCS에 저장된 백업은 앱 장애로부터 보호하지만, 디스크 장애로부터는 보호하지 못합니다. 추가 안전을 위해 백업을 외부 위치로 복사하세요:

SCP 사용​

# 다른 컴퓨터에서 백업 다운로드
scp admin@<PCS-IP>:/DATA/AppData/<앱-이름>-backup.tar.gz ./

클라우드 스토리지 앱 사용​

PCS에 클라우드 동기화 앱(예: Nextcloud)을 설치하고 백업 디렉토리를 클라우드 서비스로 동기화하도록 구성하세요.

Rsync 사용​

# 원격 서버로 백업 동기화
rsync -avz /DATA/AppData/*-backup*.tar.gz user@remote-server:/backups/

백업 저장소 관리​

백업은 디스크 공간을 소모합니다. 관리자 패널 → 리소스 → 디스크 탭에서 디스크 사용량을 모니터링하세요.

오래된 백업 정리 방법:

  1. 관리자 패널 → 앱으로 이동합니다.
  2. 백업 수를 확인합니다.
  3. 더 이상 필요 없는 오래된 백업을 삭제합니다.

또는 터미널에서:

# 모든 백업 목록 확인
find /DATA/AppData/ -name "*.tar.gz" -o -name "*backup*.zip" | sort

# 30일 이상 된 백업 삭제
find /DATA/AppData/ -name "*backup*" -mtime +30 -delete
팁

각 앱에 대해 최근 3개의 백업을 유지하는 것이 좋은 전략입니다. 너무 많은 디스크 공간을 차지하지 않으면서 복구 옵션을 제공합니다.