본문 바로가기

IT

SubVersion 백업 및 복구

반응형

 SVN만으로도 충분히 소스를 백업하는 기능이 출중하지만, 정말 만약의 사태를 대비하여 소스의 백업을 2차, 3차까지 해주는 것은 나쁜 일이 아닙니다.


 오늘은 SVN서버의 Repository를 백업하고 이를 복구하는 과정을 적어보겠습니다. (이 과정은 Repository가 생성되어 사용중이라는 가정하의 글입니다. 아직 사용하는 Repository가 없다면 SVN Repository 생성에 관한 글을 먼저 읽어보시기 바랍니다.



2012/02/10 - [개발툴/eclipse] - Subversion, Eclipse를 이용한 소스관리와 다중사용자 개발환경 만들기


 제가 운영하는 SVN서버를 기준으로 설명합니다. 저는 리눅스 서버에 subversion 이라는 프로그램의 SVN을 사용하여 운영중입니다. 대부분의 작업은 콘솔로 이루어집니다.



 저의 계정에 연결된 home 디렉토리구조입니다. 저중에서 Repository가 SVN의 Repository 집합 디렉토리 입니다.

여러개의 Repository가 운영되고 있으므로 안쪽으로 들어갑니다.




 총 7개의 Repository가 운영중이고, 이를 하나씩 백업해보겠습니다. 명령어는 다음과 같습니다.



  백업 : svnadmin dump DANTE2K > 20131021_DANTE2K.svn.dump


 DANTE2K 라는 디렉토리의 Repository를 뒤의 파일명으로 저장한다는 명령어입니다.


 캡쳐화면과 좀 차이가 있는데요. 위는 gzip 을 이용하여 백업과 동시에 압축을 하여 뒤에 gz 확장자가 추가되어 있습니다. 압축을 동시에 진행하고 싶다면 다음 명령어를 이용하시면 됩니다.



   백업&압축 : svnadmin dump DANTE2K | gzip > 20131021_DANTE2K.svn.dump.gz



 위명령어를 실행하면 그동안 저장된 모든 리비전의 SVN데이터가 백업이 됩니다.


 두번째로는 복구하는 방법을 알아 보겠습니다.


 


 정상적으로 백업이 진행되었다면 위처럼 붉은 색의 .dump 또는 .dump.gz 파일이 생성되었을 겁니다. 저는 gzip 압축까지 한번에 진행하는 명령어를 이용하여 백업을 하였습니다.


 압축이 된 상태라면 다음 명령어를 이용하여 압축을 풀어줍니다.



  압축해제 : gzip -d <파일명> 


 별다른 메시지 없이 압축이 풀리고 .dump.gz 이었던 확장자가 .dump로 변경되어 있는 것을 볼 수 있습니다.

 이제 복구를 시작합니다. 명령어는 다음과 같습니다.



   복구 : svnadmin load '복구할 디렉토리' < '백업했던 파일명'


 여기까지 SVN을 이용한 Repository 백업과 복구를 알아보았습니다.


끝.

반응형