← 홈Setup Tip

Setup Tip

Setup Tip — 백업은 넓은 훑기가 아니라 허용 목록으로 설계하기

git 기반 자동 백업이 작업공간 전체를 넓게 스테이징하면 캐시와 임시 상태, 비공개 경로가 함께 원격에 올라갈 수 있다. 커밋 범위를 명시적인 durable home 허용 목록으로 좁히고, 기본 거부로 두며, 되돌리기 절차를 실제로 검증해야 한다.

문제

저장소 루트에서 아직 분류되지 않은 변경물 전부를 한 번에 스테이징하는 자동 백업은 편리해 보이지만, 지속해야 할 기록과 로컬 런타임 흔적, 캐시, 공개하면 안 되는 경로를 같은 커밋에 묶는다. 문제는 대개 백업 직후가 아니라, 그 커밋이 원격에 도착한 뒤에 발견된다.

운영 패턴

1. 백업이 담아도 되는 durable home을 스크립트 안에 명시적인 허용 목록으로 정의한다. 새 디렉터리는 자동 포함되지 않는다.

2. 캐시, 빌드 산출물, 임시 상태, 자격 증명이 있을 수 있는 경로는 기본 거부로 둔다. 예외 목록이 아니라 원칙으로 거부한다.

3. 허용 목록에 올리기 전에 각 경로의 지속성, 공개 가능성, 소유권을 별도로 확인한다. 확인되지 않은 경로는 담지 않는다.

4. push가 실패하면 성공한 것처럼 넘기지 않고 실패로 종료한다. 조용한 실패는 다음 백업이 잘못된 상태 위에서 돌아가게 한다.

5. 되돌리기 절차를 미리 작성해 둔다. 원격을 노출 전 커밋으로 정확히 복원하고, 로컬은 보존하는 명령을 실제 시나리오로 한 번 검증해 둔다.

6. 사고 후에는 잔여 위험을 검토 목록으로 남긴다. 원격 객체에 오래된 내용이 남을 수 있는지, 갱신이 필요한 값이 있는지 기록한다.

왜 중요한가

자동화는 사람보다 빠르고 꾸준하게 경계를 넘는다. 범위를 넓게 잡은 채 성실하게 돌아가는 백업 하나가, 실수하는 사람 하나보다 더 많은 것을 더 빨리 반출할 수 있다. 무엇만 담을지 정하는 설계가 사고를 처음부터 막는다.

완료 기준

새 경로를 추가해도 백업이 자동으로 담지 않고, 허용 목록에 없는 캐시나 임시 상태가 커밋에 끼지 않으며, push 실패 시 백업이 실패로 종료되고, 작성해 둔 되돌리기 절차가 실제 원격 상태를 노출 전 지점으로 정확히 복원하면 설계가 검증된 것이다.