VPS 백업, 2026년에는 restic이 정답이다
VPS 한 대에 서비스를 올리고 나면 가장 먼저 해야 할 일이 백업입니다. 디스크 고장, 랜섬웨어, 실수로 날린 rm -rf — 언제든 데이터를 잃을 수 있습니다. 전통적인 rsync 풀백업은 매번 전체 파일을 복사하므로 느리고 저장 공간을 많이 먹습니다.
restic은 증분 백업·중복 제거(deduplication)·암호화를 기본으로 지원하는 오픈소스 백업 도구입니다. 최초 1회 전체 백업 이후에는 변경된 블록만 전송하므로, 매일 백업해도 수 초 안에 끝납니다. 이 튜토리얼에서는 restic으로 VPS 백업을 자동화하고 원격 저장소까지 연동하는 전체 과정을 다룹니다.
1. restic 설치
Ubuntu/Debian 기준:
sudo apt update && sudo apt install -y restic
또는 최신 버전을 직접 다운로드:
curl -L https://github.com/restic/restic/releases/download/v0.16.4/restic_0.16.4_linux_amd64.bz2 | bunzip2 > restic
sudo mv restic /usr/local/bin/ && sudo chmod +x /usr/local/bin/restic
2. 백업 저장소(repo) 초기화
로컬 디렉토리, S3, B2, SFTP 등 어디든 저장소로 쓸 수 있습니다. 로컬 예시:
export RESTIC_REPOSITORY="/mnt/backup/restic"
export RESTIC_PASSWORD="강력한비밀번호"
restic init
원격 S3(B2/MinIO 호환)를 쓰는 경우:
export RESTIC_REPOSITORY="s3:s3.example.com/my-bucket/restic"
export AWS_ACCESS_KEY_ID="..."
export AWS_SECRET_ACCESS_KEY="..."
restic init
3. 첫 백업 실행
restic backup /var/www /etc /home --tag daily
백업이 끝나면 스냅샷 목록을 확인합니다:
restic snapshots
4. 증분 백업의 원리 — deduplication
restic은 파일을 작은 블록(chunk)으로 쪼개고 각 블록의 해시를 저장합니다. 두 번째 백업부터는 변경된 블록만 전송하므로, 수 GB 데이터도 변경분이 적으면 수 초 만에 끝납니다. 저장 공간도 변경분만큼만 추가로 사용합니다.
5. cron으로 매일 자동 백업
sudo tee /etc/cron.daily/restic-backup >/dev/null <<'EOF'
#!/bin/bash
export RESTIC_REPOSITORY="/mnt/backup/restic"
export RESTIC_PASSWORD="강력한비밀번호"
# 백업
restic backup /var/www /etc /home --tag daily
# 오래된 스냅샷 정리 (30일 보관)
restic forget --keep-daily 30 --keep-weekly 12 --keep-monthly 12 --prune
# 저장소 최적화
restic check
EOF
sudo chmod +x /etc/cron.daily/restic-backup
6. 복구(restore) 실습
복구가 안 되는 백업은 백업이 아닙니다. 반드시 복구 테스트를 합니다:
# 스냅샷 확인
restic snapshots
# 특정 스냅샷에서 파일 복구
restic restore latest --target /tmp/restore
# 특정 파일만 추출
restic restore latest --target /tmp/restore --include /var/www/index.html
7. retention policy — 저장 공간 관리
백업을 무한정 쌓으면 저장 공간이 부족해집니다. restic forget --prune으로 보관 정책을 설정합니다:
restic forget --keep-daily 30 --keep-weekly 12 --keep-monthly 12 --prune
최근 30일치 일일 백업 + 12주치 주간 백업 + 12개월치 월간 백업을 유지하고 나머지는 삭제합니다.
마무리: 백업은 자동화가 전부다
수동 백업은 결국 까먹습니다. restic + cron 한 줄로 매일 자동 증분 백업을 구축해 두면, 디스크가 고장 나도 어젯밤 상태로 5분 만에 복구할 수 있습니다. 원격 저장소(S3/B2)까지 연동하면 VPS 자체가 날아가도 데이터는 안전합니다.
추천 VPS: 이 튜토리얼은 Vultr, DigitalOcean, Hetzner 어떤 VPS에서도 동일하게 적용됩니다.



















