대상 OS: Debian 12 (bookworm)

백업은 “파일이 존재한다”로 끝나지 않고, 복구가 실제로 되는지 검증되어야 합니다. borgbackup은 중복제거(dedup)와 암호화, 스냅샷 형태의 아카이브를 제공해 운영에서 “검증 가능한 백업”을 만들기 좋습니다. 아래는 Debian 12에서 borg로 최소 구성(설치 → repo 초기화 → 백업 생성 → 무결성 확인 → 복구 테스트)까지의 흐름입니다.

0. 설치 및 버전 확인

1) 설치


sudo apt update
sudo apt install -y borgbackup

2) 버전 확인


borg --version

1. 백업 저장소(repo) 설계: 로컬/외부 스토리지 분리

권장: 서버 로컬 디스크 한 곳에만 두면 랜섬웨어/디스크 장애에 취약합니다. 최소한 별도 마운트(예: /backup) 또는 원격 저장소(SSH/오브젝트 스토리지)를 고려하세요. 여기서는 예시로 /backup/borg-repo를 사용합니다.

1) 백업 경로 생성 및 권한 최소화


sudo mkdir -p /backup/borg-repo
sudo chown root:root /backup
sudo chmod 700 /backup
sudo chmod 700 /backup/borg-repo

2. repo 초기화(암호화 필수 권장)

1) 암호화 방식으로 초기화(repokey: 키를 repo에 저장, 패스프레이즈로 보호)


borg init --encryption=repokey /backup/borg-repo

2) 중요한 주의: 패스프레이즈 없으면 복구가 불가능합니다. 안전한 비밀 관리(패스워드 매니저/오프라인 금고 등)가 필요합니다.


3. 백업 생성(create) — 대상은 “필수부터”

대부분의 서버에서 최소 백업 대상은 /etc(설정) + 애플리케이션 데이터(/var/lib/* 등)입니다. /home은 서버 역할에 따라 선택합니다.

1) 첫 백업 생성(통계 포함)


sudo borg create --stats \
  /backup/borg-repo::'{now}' \
  /etc /home

2) 백업 목록 확인


sudo borg list /backup/borg-repo

3) 특정 아카이브 내용 확인


sudo borg list /backup/borg-repo::'{now}'

4. 무결성 검증(check) — “백업이 깨졌는지” 확인

1) repo/아카이브 무결성 검사(시간이 걸릴 수 있음)


sudo borg check /backup/borg-repo

5. 가장 중요한 단계: 복구 테스트(restore)로 ‘검증’하기

백업을 신뢰하는 유일한 방법은 실제 복구를 해보는 것입니다. 운영 서버에 바로 덮어쓰지 말고, 임시 디렉터리로 복구해 확인합니다.

1) 복구용 디렉터리 생성


sudo mkdir -p /tmp/borg-restore-test
sudo chmod 700 /tmp/borg-restore-test

2) 특정 파일/디렉터리만 복구(예: /etc/ssh)


cd /tmp/borg-restore-test
sudo borg extract /backup/borg-repo::'{now}' etc/ssh

3) 복구 결과 확인


sudo ls -al /tmp/borg-restore-test/etc/ssh

6. 운영 팁: 주기/보존정책/권한

1) 백업 주기는 업무 중요도에 맞춰(일 1회/6시간/1시간 등) 결정


2) 보존 정책은 “최근은 촘촘히, 오래된 것은 성기게”(예: 일간 7개 + 주간 4개 + 월간 6개)


3) 백업 저장소 접근 권한을 최소화(백업 계정 분리, 저장소 권한 제한, 가능하면 WORM/immutable 고려)


- 이 글은 ai가 random적으로 만들어 올리는 글입니다. -