백업 전략 — 업데이트 전 반드시 해야 할 것들
📋 실습 안내
✏️ CODE EDITOR (JSX)
▶ 실행 버튼을 눌러 코드를 테스트하세요.
👁️ 내 미리보기
내 코드 실행 결과
🎯 완성 미리보기
목표
위 에디터 코드를 수정해서 이 결과물과 똑같이 만들어보세요!
💡 TODO 주석을 채워서 위 결과물처럼 동작하게 만들어보세요
🤖 AI 선생님에게 질문하기
이번 강의 전용
▼
선생님이 답변 중이에요...
⚠️ 학습 관련 질문만 답변합니다. 관련 없는 질문은 자동으로 학습으로 유도됩니다.
Q1. pg_dump에서 -F c 옵션의 의미와 장점은?
💡 pg_dump의 -F c는 custom 형식을 의미합니다. 이 형식은 내장 압축을 지원하고, pg_restore 명령으로만 복구할 수 있으며, 복구 시 특정 테이블만 선택해서 복구하는 것이 가능합니다. plain 형식(-F p)은 SQL 텍스트라 사람이 읽을 수 있지만 용량이 크고, tar 형식(-F t)은 병렬 복구가 불가합니다.
Q2. 3-2-1 백업 규칙에서 숫자 3, 2, 1이 각각 의미하는 것은?
💡 3-2-1 규칙은 업계 표준 백업 전략입니다. 3은 최소 3개의 데이터 복사본 유지, 2는 2가지 다른 저장 매체(예: HDD + SSD, 로컬 + 클라우드), 1은 1개는 반드시 원격(오프사이트) 보관을 의미합니다. 이렇게 하면 화재, 도난, 하드웨어 고장 등 어떤 상황에서도 데이터를 복구할 수 있습니다.
Q3. n8n 백업 시 N8N_ENCRYPTION_KEY가 특히 중요한 이유는?
💡 N8N_ENCRYPTION_KEY는 n8n이 저장하는 모든 크리덴셜(Google OAuth, Slack 토큰, DB 비밀번호 등)을 암호화하는 데 사용됩니다. PostgreSQL DB를 완벽하게 복구해도 원래의 암호화 키가 없으면 크리덴셜을 복호화할 수 없어서 모든 연동이 작동하지 않습니다. 따라서 DB 백업과 함께 반드시 이 키를 별도로(비밀번호 관리자 등) 보관해야 합니다.
Q4. docker compose down 과 docker compose down -v 의 차이는?
💡 docker compose down은 컨테이너와 네트워크를 삭제하지만 Named Volume은 유지합니다. docker compose down -v (또는 --volumes)는 컨테이너와 함께 Compose 파일에 정의된 Named Volume까지 삭제합니다. 운영 환경에서 실수로 -v 옵션을 사용하면 PostgreSQL 데이터와 n8n 볼륨이 모두 영구 삭제되므로 매우 주의해야 합니다.
Q5. 백업 스크립트에서 set -euo pipefail 명령의 역할은?
💡 set -euo pipefail은 셸 스크립트의 안전 설정 조합입니다. -e는 명령이 실패하면 즉시 종료(기본은 계속 실행), -u는 선언되지 않은 변수 참조 시 오류, -o pipefail은 파이프라인 중 하나라도 실패하면 전체를 실패로 처리합니다. 백업 스크립트에 이를 넣지 않으면 pg_dump가 실패해도 스크립트가 계속 실행되어 빈 파일을 정상 백업으로 오인할 수 있습니다.
😅
아쉽네요!
점수: 0점 — 70점 이상이 되어야 통과합니다.