8단계: 운영
목표: 노트북 분실, 서버 장애, 잘못된 업데이트, 머신 변경 등 어떤 상황에서도 사이트가 생존하며, 누구도 절차를 기억할 필요가 없습니다.
단계
- 백업.
- 주 1회 및 위험한 작업 전에
scripts/backup.sh를 실행합니다. 데이터베이스, 업로드, 모든 git 브랜치와 스태시, Claude 메모리를 패킹합니다. - zip이 머신을 떠나기 전에
--encrypt를 사용하고, 사본 하나를 외부에 보관합니다. - 실시간: 호스트의 일일 백업과 배포 및 콘텐츠 스크립트가 생성하는 덤프를 함께 사용합니다.
- 주 1회 및 위험한 작업 전에
- 모든 위치 기록 — 프로젝트의
docs/reference/DISASTER_RECOVERY.md섹션 0에 기록합니다. 사진 원본 폴더를 포함하세요. 이 폴더는 git에 없습니다. - 복원 훈련. 분기마다 여분의 머신이나 새 DDEV 프로젝트에서 복원을 수행하고, 시간을 측정한 후 섹션 5에 기록합니다. 한 번도 복원해보지 않은 백업은 희망일 뿐, 백업이 아닙니다.
- 자격 증명: 모든 비밀번호는
CREDENTIALS_INVENTORY.md에 한 줄씩 기록합니다 (이름, 위치, 소유자, 마지막 교체일). 에이전트가 본 것은 모두 교체합니다. - 정기 작업: 주간, 월간, 연간 점검 사항과 업데이트 정책, 알림을
docs/reference/OPERATIONS.md에 기록합니다. 플러그인 업데이트는 먼저 스테이징에 적용합니다. - 머신이 여러 대인가요?
references/multi-machine.md를 따르세요:docs/team/BRIDGE.md에는 역할, 규칙 및 인계 로그가 기록됩니다.scripts/workstation-doctor.sh는 일관성을 확인합니다.scripts/make-state-bundle.sh는 git에서 무시되는 설정을 암호화하여 번들로 만듭니다.
게이트 (SITE_STATUS.md에서 체크)
- 백업이 예약되었고 외부 사본이 있음
- 복원 훈련 완료 (날짜, 소요 시간)
- 업데이트 및 알림 절차가
OPERATIONS.md에 기록됨
교훈
- 백업 스크립트가 한 번 잘못된 Claude 메모리 폴더를 가리켰습니다. 세션이 상위 폴더에서 실행되어 메모리가 다른 경로에 있었습니다. 스크립트는 경로를 자동으로 유추하지만 이 경우를 위해
CLAUDE_MEM=을 허용합니다. - 클라우드 빌드 박스에 다른 곳에는 없는 브랜치와 스태시가 있었고, 푸시할 수 없었습니다. 박스가 중지되거나 삭제되기 전에
git bundle을 SSH를 통해 꺼내십시오. - 한 OS에서 만든 시각적 기준선이 다른 OS에서는 실패합니다. 고정된 Docker 이미지에 보관하십시오.
- 만료일이 있는 무료 플랜이나 크레딧은 탈출 훈련의 마감일입니다: 만료 일주일 전에 git + 상태 번들 + 백업으로 다음 머신에서 재구축할 수 있음을 입증하십시오.