diff --git a/docs/git 운영 규칙.md b/docs/git 운영 규칙.md index e073202..5f4184b 100644 --- a/docs/git 운영 규칙.md +++ b/docs/git 운영 규칙.md @@ -105,36 +105,47 @@ pm2 reload smartims-api --- -## 5. 데이터 백업 및 유지관리 절차 (시놀로지 운영 서버 기준) +## 5. 데이터 백업 및 복구 절차 (시놀로지 전용) -자동 업데이트는 데이터를 안전하게 유지하지만, 서버 이전이나 예기치 못한 환경 변화에 대비하여 다음 절차에 따라 주기적으로 백업하는 것을 권장합니다. +자동 업데이트는 데이터를 안전하게 유지하지만, 만약의 사태나 서버 이전을 위해 현재 운영 중인 백업 폴더(`/volume1/backup/smart_ims`)를 활용한 절차를 안내합니다. ### ✅ 자동 업데이트 시 데이터 안전성 * **파일 안전**: 시스템 관리 메뉴를 통한 **[자동 업데이트]** 실행 시, `server/uploads` 폴더는 Git 추적 제외 대상이므로 **삭제되거나 초기화되지 않고 그대로 유지**됩니다. -* **DB 안전**: 업데이트 시 기존 데이터베이스의 테이블 구조만 업데이트(Migration)하며, 이미 등록된 자산 데이터는 보존됩니다. +* **DB 안전**: 업데이트 시 기존 데이터베이스의 테이블 구조만 업데이트하며, 이미 등록된 자산 데이터는 보존됩니다. -### 📦 수동 백업 절차 (Step-by-Step) -운영 서버(시놀로지) SSH 터미널에서 아래 순서대로 실행하여 백업 파일을 생성합니다. +--- + +### 📦 데이터 백업 절차 (Backup) +운영 서버 SSH 터미널에서 실행하여 지정된 백업 폴더에 저장합니다. #### 1단계: 업로드 이미지 백업 -자산 이미지 및 매뉴얼 파일이 저장된 폴더를 압축합니다. ```bash # [위치: /volume1/web/smartims] -# uploads 폴더를 backup_images_오늘날짜.tar.gz로 압축 -tar -czvf backup_images_$(date +%Y%m%d).tar.gz server/uploads/ +tar -czvf /volume1/backup/smart_ims/backup_images_$(date +%Y%m%d).tar.gz server/uploads/ ``` #### 2단계: 데이터베이스(DB) 백업 -시스템의 모든 텍스트 데이터(자산 정보, 계정, 로그 등)를 추출합니다. ```bash # [위치: /volume1/web/smartims] -# .env에 설정된 정보를 바탕으로 DB 전체를 백업 -# (비밀번호 입력 프롬프트가 뜨면 DB 비밀번호 입력) -/usr/local/mariadb10/bin/mysqldump -u root -p smartims > backup_db_$(date +%Y%m%d).sql +/usr/local/mariadb10/bin/mysqldump -u root -p smartims > /volume1/backup/smart_ims/backup_db_$(date +%Y%m%d).sql ``` -#### 3단계: 백업 파일 안전 보관 -생성된 `backup_images_*.tar.gz`와 `backup_db_*.sql` 파일을 시놀로지 File Station을 통해 외부 저장소나 PC로 내려받아 보관하십시오. +--- + +### 🔄 데이터 복구 절차 (Restore / Recovery) +서버 재설치 등으로 데이터 복구가 필요한 경우 아래 순서대로 실행합니다. + +#### 1단계: 이미지 복구 (압축 해제) +```bash +# [위치: /volume1/web/smartims] +tar -xzvf /volume1/backup/smart_ims/backup_images_[날짜].tar.gz -C ./ +``` + +#### 2단계: 데이터베이스(DB) 복원 +```bash +# [위치: /volume1/web/smartims] +/usr/local/mariadb10/bin/mysql -u root -p smartims < /volume1/backup/smart_ims/backup_db_[날짜].sql +``` --- @@ -142,4 +153,4 @@ tar -czvf backup_images_$(date +%Y%m%d).tar.gz server/uploads/ 1. **실행 위치 확인**: 특히 `pm2` 명령어나 `server` 관련 설정은 반드시 `server` 폴더 내에서 실행하거나 경로를 정확히 지정해야 합니다. 2. **경로 이동 주의**: `cd server`를 통해 폴더를 이동하여 작업을 마친 후에는 반드시 `cd ..`를 통해 다시 루트 폴더로 복귀하여 다음 작업에 혼선이 없도록 합니다. 3. **권한 관리**: 운영 서버에서는 반드시 서비스 실행 권한을 가진 계정으로 명령어를 실행해야 `PM2` 프로세스 관리에 문제가 생기지 않습니다. -4. **수동 설치 주의**: `git clone`을 새로 받아 설치할 때는 기존 `uploads` 폴더가 포함되어 있지 않으므로 반드시 위 1단계에서 만든 백업본을 복구해야 합니다. +4. **수동 설치 주의**: `git clone`을 새로 받아 설치할 때는 기존 `uploads` 폴더가 포함되어 있지 않으므로 반드시 위 **복구 절차**를 통해 데이터를 복구해야 자산 이미지가 나타납니다.