---
title: "SLV Backup - 빠른 시작"
description: "SLV Backup으로 Solana 노드의 암호화된 증분 백업을 만듭니다."
canonical: "https://erpc.global/ko/doc/backup/quickstart/"
locale: "ko"
---

# SLV Backup - 빠른 시작

## 🗄️ SLV Backup

SLV Backup은 [restic](https://restic.net/)을 사용해 노드의 **암호화된 증분 백업**을 만듭니다. 모든 데이터는 업로드 전에 클라이언트 측에서 AES-256으로 암호화되므로, 서버는 평문 데이터를 볼 수 없습니다.

> **레거시 모드**: SLV는 암호화되지 않은 tar+zstd 백업(`--restic` 없이)도 지원합니다. 새로 만드는 백업에는 모두 `--restic` 사용을 강력히 권장합니다.

### 사전 요구 사항

- 대상 노드에 SLV CLI 설치
- `sudo` 권한 (전체 디스크 백업에 필요)
- 활성 스토리지 구독이 있는 계정으로 로그인 (`slv login`)
- `restic` 설치 (`apt install restic`)

## 암호화된 백업 만들기

```bash
sudo slv backup create --restic --yes
```

```
🗄️  SLV Backup (restic mode)

  Region:    default
  Retention: 7 days

⚠️  Restic encryption password generated and saved to:
   /home/solv/.slv/restic-password
   BACK UP THIS FILE — without it, backups cannot be restored.

🔧 Initializing restic repository (if needed)...
📦 Creating restic backup...

Files:       151263 new,     0 changed,     0 unmodified
Dirs:        22486 new,     0 changed,     0 unmodified
Added to the repository: 4.107 GiB (1.837 GiB stored)

processed 151263 files, 4.366 GiB in 0:50
snapshot b6925e6d saved

✅ Restic backup complete
🧹 Applying retention policy (keep within 7 days)...
✅ Backup complete.
```

### 첫 실행 시 일어나는 일

1. 무작위 암호화 비밀번호가 생성되어 `~/.slv/restic-password`에 저장됩니다 (mode 0600)
2. ERPC Cloud Storage에 restic 리포지토리가 초기화됩니다
3. 디스크 전체가 백업됩니다 (시스템 의사 파일 시스템 제외)

### 이후 실행

변경된 파일만 업로드됩니다 (증분). 중복 제거로 스토리지 비용을 낮게 유지합니다.

## 백업 목록

```bash
sudo slv backup list
```

클라우드 스토리지에 있는 restic 스냅샷과 레거시 tar 백업을 모두 표시합니다.

## 백업에서 복원

최신 스냅샷 복원:

```bash
sudo slv backup restore latest
```

특정 스냅샷 복원:

```bash
sudo slv backup restore b6925e6d
```

레거시 tar 백업 복원:

```bash
sudo slv backup restore backup-mynode-20260318.tar.zst
```

## 백업 무결성 검증

`restic check`를 직접 실행하려면 스토리지 액세스 키로 연결합니다. 이 엔드포인트에서는 RPC API 키가 허용되지 않습니다.

1. [Storage 페이지](https://dashboard.erpc.global/ko/user/storage)를 열고 **스토리지 액세스 키**로 이동한 다음 **키 발급**을 클릭합니다. `check`에는 **읽기 전용**이면 충분합니다.
2. 키를 만든 직후에 표시되는 **restic 리포지토리 URL**을 복사합니다. 한 번만 표시되므로 잃어버리면 키를 폐기하고 새 키를 발급하세요.
3. 그 URL로 `check`를 실행합니다.

```bash
sudo restic -r '<RESTIC_REPOSITORY_URL>' \
  --password-file ~/.slv/restic-password check
```

## 자동 백업 설정 (Cron)

```bash
sudo slv backup create --restic --cron daily
```

| 주기 | 설명 |
|---|---|
| `daily` | 하루에 한 번 실행 |
| `weekly` | 일주일에 한 번 실행 |
| `monthly` | 한 달에 한 번 실행 |
| `off` | cron 작업 제거 |

### 보존 기간

기본적으로 7일보다 오래된 스냅샷은 자동으로 정리됩니다:

```bash
sudo slv backup create --restic --retention 14
```

## 제외 경로 사용자 지정

현재 제외 목록 보기:

```bash
slv backup create --list-excludes
```

제외 경로 추가:

```bash
sudo slv backup create --restic --exclude /home/solv/ledger --exclude /home/solv/snapshots
```

## 암호화 및 보안

| 항목 | 세부 내용 |
|---|---|
| **암호화** | AES-256-CTR + Poly1305-AES (클라이언트 측) |
| **무결성** | SHA-256 콘텐츠 주소 지정 스토리지 |
| **중복 제거** | 콘텐츠 정의 청킹 |
| **서버 측 가시성** | 없음 — 서버는 암호화된 blob만 볼 수 있습니다 |
| **비밀번호 파일** | `~/.slv/restic-password` (mode 0600) |
| **백업에서 제외** | `~/.slv/restic-password`, `~/.slv/api.yml`, `~/.slv/backup.env` |

> ⚠️ **중요**: `~/.slv/restic-password` 파일은 별도로 백업하세요. 이 파일이 없으면 백업을 다시는 복구할 수 없습니다.

## 옵션 참조

| 옵션 | 설명 |
|---|---|
| `--restic` | restic으로 암호화된 증분 백업 (권장) |
| `-r, --region <region>` | 스토리지 리전 (기본값: eu) |
| `--exclude <path>` | 추가로 제외할 경로 (반복 지정 가능) |
| `--include <path>` | 기본 제외 목록에서 제거 (반복 지정 가능) |
| `--list-excludes` | 현재 제외 목록을 표시하고 종료 |
| `--retention <days>` | N일보다 오래된 스냅샷 정리 (기본값: 7) |
| `--cron <interval>` | cron 작업 설정 (daily/weekly/monthly/off) |
| `-y, --yes` | 확인 프롬프트 건너뛰기 |
| `--upload` | 레거시: tar 백업을 클라우드 스토리지에 업로드 |
| `-o, --output <path>` | 레거시: tar 백업의 출력 파일 경로 |

## 레거시 모드 (tar+zstd)

하위 호환성을 위해 암호화되지 않은 tar 백업도 계속 지원합니다:

```bash
sudo slv backup create --upload --yes     # Unencrypted tar backup
```

> **참고**: 레거시 백업은 암호화되지 않습니다. 새로 만드는 백업에는 모두 `--restic`으로 전환할 것을 권장합니다.
