버전 관리 도구 활용한 제품 소프트웨어 소스 및 자료 백업 - 제품 소프트웨어 소스 및 자료 백업의 의미, 버전 관리 도구 활용 시 자료 백업 정책 및 방법, 버전 관리 도구를 활용한 소스 및 자..

CODEDRAGON Development/Software Engineering

반응형


 

버전 관리 도구 활용한 제품 소프트웨어 소스 및 자료 백업

·       제품 소프트웨어 소스 및 자료 백업의 의미

·       버전 관리 도구 활용 시 자료 백업 정책 및 방법

·       버전 관리 도구를 활용한 소스 및 자료 백업

 

 

 

제품 소프트웨어 소스 및 자료 백업의 의미

·       소스 및 자료 백업의 목적은 크게는 천재지변이나 해킹, 작게는 소프트웨어 버그 및 오동작 등으로 인한 각종 재해에 대비해 System Recovery 가능한 상태로 만들기 위해 준비하는 것입니다.

·       손실의 예방 및 최소화를 우선해야 하고, 정작 재해가 발생했을 시는 최단 기간에 정상 업무에 복구하도록 버전 관리 도구를 적절히 사용할 수 있어야 합니다.

·       또 버전 관리도구의 사용 방법을 숙지하여 복구 과정의 효과적 통제/관리가 이루어질 수 있도록 해야 합니다.

·       이를 통해 제품 소프트웨어의 소스 및 자료를 정보 자산으로 훌륭하게 보호 할 수 있습니다.

 

 

 

버전 관리 도구 활용 시 자료 백업 정책 및 방법

버전 관리 도구를 활용, 제품 소프트웨어 백업은 내부의 정확한 백업 정책을 먼저 세워야 하고, 상세 백업 방법을 공유해야 합니다. 백업 정책 사례 및 방법은 다음과 같습니다.

 

♣자료 백업 정책 및 방법

버전 관리 항목

항목 설명

백업 정책

·       버전 관리 라이브러리에 대한 백업 파일은 버전 관리 라이브러리가 저장된 Disk와 분리된 Disk에 저장

·       Disk 백업은 1 1(ex. 매일 03) 실시(, 일요일은 제외함.)

·       CD 백업은 1주일 1(ex. 매주 금요일) 실시

·       실수에 의한 삭제를 예방하기 위해 백업은 최소 D-2일분 이상 보관

백업 방법

·       변경된 부분만 백업하는 경우(증분 백업) 편리해 보이기는 하나, 복구 시 복잡한 과정을 거쳐야 하고, 증분 백업 파일에 문제가 발생되는 경우 어려움이 생길 수 있으므로 버전 라이브러리의 백업은 빠른 복구를 위해 Full 백업

·       백업 작업에 대한 임시/신규 요청 또는 중지 요청은 절차에 따라 실시

·       백업결과는 버전 관리를 담당하는 CMO(Change Mgt Officer)가 주기적으로 점검하며, 그 결과를 버전 관리 정기 보고시 함께 보고

 

 

 

 

버전 관리 도구를 활용한 소스 및 자료 백업

 

디렉토리를 신규로 만들며 물리적 복사: Repository Backup

버전 관리 도구 Git를 사례로 들면, Git 자체가 소스 코드 백업용으로 쓰이지만, 2차 백업 개념으로 ./.Git 폴더의 내용 디렉토리를 물리적으로 다른 곳에 보관하여 백업합니다.

새로 만든 디렉토리나 이미 파일이 있는 디렉토리에서 Git init 명령을 실행하면 Git는 데이터를 저장하고 관리하는 .Git 디렉토리를 만든다. 이 디렉토리를 복사하기만해도 저장소가 백업된다. 이처럼  1차로 가장 기본적인 원시 백업 방법으로 디렉토리 자체를 복사하여 백업합니다.

 

 

버전 관리 도구의 백업 기능 활용: Git bundle

Git Repository bundle을 생성하는 process를 통해 백업 자체를 버전 관리 도구에서 자동화하여 백업을 진행해 주는 백업 방법입니다. 다음과 같은 방식을 갖습니다.

 

Git backup [-d DESTINATION DIR] [-f BUNDLENAME]

 

환경값은 Git config file에 세팅을 하며, Git Repository bundle을 생성할 수 있게 된다. $HOME/.Gitconfig 파일에는 Repository에 대한 구성 설정이 들어 있습니다. 또 백업 이후 이를 복구할 때는 Git-restore를 활용하여 복구합니다.

 

Git config 관련한 설정값은 다음과 같습니다.

backup.directory = string

- the directory for the backup bundles

backup.prefix-date = boolean

-- date in the format: "YYYY-MM-DD - " -- default = true

backup.prefix-time = boolean

- time in the format: "HH:MM:SS - " -- default = false

 

 

반응형