상세 컨텐츠

본문 제목

SVN 생성, 백업(dump생성), 복원(load)

SVN, Git

by 개념잡이 2021. 12. 30. 21:50

본문

 

아래의 블로그를 참조하여 SVN 백업 및 복원 작업을 하면서 신경써야할 부분들을 좀 더 적어봄 (1.백업 받기의 3-2) 연속된 리비전 덤프 파일 받기)

 

참조 : http://gyuha.tistory.com/440 및 기타 블로그

 

1. 백업 받기(dump 파일 생성)

- 저장소 이름: repo

- 주로 SVN 계정을 만들어 /home/svn 아래에 repo로 svn을 생성하는 경우가 많음.

// 1) 전체 svn 덤프 파일 생성
$ svnadmin dump /home/svn/repo > repo.dump

// 2) 지정 리비전만 덤프 파일 생성
// 리비전 10번 덤프 생성
$ svnadmin dump /home/svn/repo -r 10 > repo-10.dump

// 3-1) 리비전 구간별 덤프 파일 생성
// 리비전 0~20번 덤프 생성
$ svnadmin dump /home/svn/repo -r 0:20 > repo-0-20.dump
// 3-2) 연속된 리비전 덤프 파일 생성
// 여러개의 리비전 구간별 덤프를 적용하기 위해서는 아래와 같이 덤프 파일을 작성해야 함
// --incremental 속성에 주의, 3-1 방식으로 하게 되면 dump 파일 load 시 File already exists with transaction code 에러를 발생한다.
// 리비전 번호도 중복되지 않게 신경쓰자
$ svnadmin dump /home/svn/repo -r 0:20 > repo-0-20.dump
$ svnadmin dump /home/svn/repo -r 21:40 --incremental > repo-21-40.dump
$ svnadmin dump /home/svn/repo -r 41:50 --incremental > repo-41-50.dump

// 4) 특정 폴더 덤프 파일 생성
// VPO 폴더 덤프 생성 - 해봤는데 잘 안됨
$ svnadmin dump /home/svn/repo | svndumpfilter include VPO > repo-vpo.dump

// 5) 특정 폴더 제외하여 덤프 파일 생성
$ svnadmin dump /home/svn/repo | svndumpfilter exclude VPO > repo-non-vpo.dump

// 6) 특정 날짜부터 현재까지 덤프 파일 생성
$ svnadmin dump /home/svn/repo -r {2017-05-15}:HEAD > repo-20170515-now.dump

 

2. 새로운 SVN 생성

- 저장소 이름: repo

- 주로 서버에 SVN 계정을 만들어 /home/svn 아래에 repo로

SVN Repository를 생성하는 경우가 많음.

// 1)일반 파일 시스템으로 SVN 생성
$ svnadmin create /home/svn/repo
또는
$ svnadmin create --fs-type fsfs /home/svn/repo

// 2) Berkerley DB 형식으로 SVN 생성 
// --> 과거 버전으로 현재는 TortoiseSVN 같은 툴에서 지원하지 않는다고 함.
$ svnadmin create --fs-type bdb /home/svn/repo
 

3. svn 덤프 파일 복원하기

// 1) 새로운 SVN Repository에 덤프 파일 복원
$ svnadmin load /home/svn/repo < repo.dump

// 2) 연속된 리비전 덤프 파일 복원
// 리비전 순서가 중요함
$ svnadmin /home/svn/repo < repo-0-20.dump
$ svnadmin /home/svn/repo < repo-12-40.dump
$ svnadmin /home/svn/repo < repo-41-50.dump
또는 기존과 동일하게 사용도 가능
$ svnadmin load /home/svn/repo < repo-0-20.dump
$ svnadmin load /home/svn/repo < repo-12-40.dump
$ svnadmin load /home/svn/repo < repo-41-50.dump
 

 

 

'SVN, Git' 카테고리의 다른 글

SVN 계정 생성 및 폴더 별 권한 부여  (0) 2021.12.30

관련글 더보기