# Task Log: DB Backup Implementation (Cloud Functions)

> **일시**: 2026-02-15 22:35
> **태스크 ID**: task00018
> **작성자**: Antigravity High-Code Agent
> **상태**: 구현 완료 (Deploy Pending)

---

## 1. 작업 개요
사용자의 요청(Option 2)에 따라 Firebase Native 방식인 Cloud Functions를 이용한 정기 백업 시스템을 구현했습니다.

## 2. 작업 내용

### Backend (`functions`)
- **[NEW]** `src/backup.ts`:
    - `scheduledFirestoreExport` 함수 구현.
    - 매일 오전 04:00 (KST) 실행 (`every 24 hours`, `Asia/Seoul`).
    - `@google-cloud/firestore` 클라이언트를 사용하여 `exportDocuments` 호출.
    - 백업 버킷: `process.env.BACKUP_BUCKET_NAME` 또는 기본값 `gs://insuwiki-backups`.
- **[UPDATE]** `src/index.ts`:
    - `backup.ts` 모듈 export.
- **[DEPENDENCY]**:
    - `npm install @google-cloud/firestore` 완료.

## 3. 배포 및 설정 (User Action Required)
1.  **Blaze 요금제** 확인.
2.  **GCP IAM 권한 설정**: `Default App Engine Service Account`에 `Cloud Datastore Import/Export Admin` 역할 추가 완료 (2026-02-15 22:42).
3.  **배포**: `firebase deploy --only functions:scheduledFirestoreExport` 실행 완료 (2026-02-15 22:40).
4.  **확인**: [Google Cloud Scheduler](https://console.cloud.google.com/cloudscheduler)에서 `firebase-schedule-scheduledFirestoreExport-us-central1` 확인.
