블로그 이미지
BJcomm
bjcomm

공지사항

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

글 보관함

calendar

1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
12-22 00:00

Subversion/Trac 백업 및 복구

2014. 11. 25. 17:38 | Posted by bjcomm
Subversion

백업 및 복구

저장소는 가장 중요한 공간이기 때문에 백업은 필수입니다. 저장소 디렉토리를 그대로 보관할 수도 있지만 백업과 복구 명령을 사용하는것이 편리합니다.
Windows, 리눅스, BSD 등 운영체제에 관계없이 백업 및 복구가 가능합니다. Windows에서 백업한것을 리눅스에서 사용할 수도 있고 BSD에서 백업한 것을 Windows에서 사용할 수도 있습니다.
저장소의 서버를 옮길때에는 저장소 디렉토리를 옮기는 것이 아니라 저장소 백업을 한뒤 그 백업파일을 이용하여 새 서버에서 복구를 하는 방식으로 옮겨야합니다.

Dump

sample 저장소를 백업합니다. 표준 입출력을 통해서 저장소의 내용을 파일로 생성합니다. svnadmin dump 명령을 사용하며 이 명령은 저장소 디렉토리 바깥에서 사용해야 합니다.
repos# ls
sample
repos# svnadmin dump sample > sample.dump

옵션
-r [--revision] arg : 리비젼 넘버 ARG (또는 X:Y범위)를 지정합니다.
--incremental : incremental 적재를 합니다.
--deltas : 적재된 결과물에 deltas를 사용합니다.
-q [--quiet] : stderr에 대한 진행사항이 (오류에 한해서)없습니다.

Load

저장소 백업 파일을 이용해서 저장소를 복구합니다. svnadmin load 명령을 사용합니다.
빈 저장소를 생성한 뒤 백업 파일을 이용해서 복구를 합니다.
repos# svnadmin create sample
repos# ls
sample   sample.dump
repos# svnadmin load sample < sample.dump

옵션
-q [--quiet] : stderr에 대한 진행사항이 (오류에 한해서)없음
--ignore-uuid : 스트림에 어떤 repos UUID가 발견되어도 무시합니다.
--force-uuid : 만약에 있다면, repos UUID를 스트림에서 발견된 것에 설정함
--use-pre-commit-hook : 리비전을 새로이 커밋하기전 post-commit훅을 호출함
--use-post-commit-hook : 리비전을 새로이 커밋한 뒤 post-commit훅을 호출함
--parent-dir arg : 저장소의 지정된 디렉토리에 로드함

Trac

프로젝트 생성
trac-admin [프로젝트디렉토리] initenv

백업
trac-admin [프로젝트디렉토리] hotcopy 백업디렉토리

복구
백업디렉토리를 다시 복사하면 된다

SVN저장소를 변경했을 경우
trac-admin 프로젝트명 resync