덤프 파일 추출 명령어
# svnadmin dump
1. 전체 백업
# svnadmin dump 디렉토리명 > 덤프 파일명
[주요 옵션]
-r revision_number : 리비전 번호를 지정하여 백업
-r revision_start_selected_number:revision_end_selected_number : 리비전 시작 번호와 끝 번호를 지정한 범위 백업
2. CentOS에서 SVN(Subversion) 저장소를 백업
- svn이 설치된 디렉터리에 가서 덤프를 추출한다.
# svnadmin dump 디렉토리명 > 생성할 디렉토리명
Ex) $ svnadmin dump example > example.dump
단, dump 추출 시 리비전 번호 확인 (마지막 리비전 번호)
3. CentOS에서 SVN 저장소를 복구
# yum install -y subversion
# svnadmin create svn_load : 저장소 생성
# svnadmin load svn_load < example.dump
# svnadmin -d -r /home/svn/ : svn 서버 구동
위와 같이 복구하는 경우 환경 설정 등은 복구되지 않아 접속이 되지 않을 수 있다.
(예를 들어, project, conf, passwd, svnserve.conf 등)
즉, 위와 같은 문제를 해결하기 위해 아래와 같은 방법으로 복구해야 한다.
(1) svn 다운로드
http://subversion.tigris.org/ 에서 subversion의 tar.gz 파일 다운로드
(2) ssl 확인
# whereis ssl
ssl: /usr/share/ssl...
(3) 버전 확인
# openssl
OpenSSL > version
OpenSSL 0.9.6b [engine] 9 Jul 2001
OpenSSL > exit
(4) subversion 압축 풀기
# tar xvzf subversion-1.4.4.tar.gz
(5) configure & 컴파일
#./configure --with-zlib --with-ssl=/usr/share/ssl
# make; make install
(6) Repository 생성
# mkdir /home/svn
# cd /home/svn
# svnadmin create --fs-type fsfs test
(7) svn 프로토콜을 사용하기 위해 svnserve 설정
# svnserve -d -r /home/svn/
(8) 다른 서버에서 svn 접속 여부 확인
# svn checkout svn://xxx.xxx.xxx.xxx/test test
Checked out revision 0.
(9) svnserve에서 ID로 사용자 인증
# vi /home/svn/test/conf/svnserve.conf
...
anon-access = none
auth-access = none
password-db = passwd
realm = Test Repository
# vi /home/svn/test/conf/passwd
...
id = passwd
# svn checkout svn://xxx.xxx.xxx.xxx/test test
Authentication realm:<svn://xxx.xxx.xxx.xxx:port> Test Repository
Password for 'id':
Checked out revision 0.
(10) 클라이언트 설정
# whereis vi
vi: /bin/vi /usr/share/vi /usr/share/man/man1/vi.1.gz
# vi.bash_profile
SVN_EDITOR=/bin/vi
export SVN_EDITOR
(11) 기본 디렉터리 만들기 (trunk, branches, tags)
# svn mkdir svn://xxx.xxx.xxx.xxx/test/trunk
# svn mkdir svn://xxx.xxx.xxx.xxx/test/branches
# svn mkdir svn://xxx.xxx.xxx.xxx/test/tags
vi 화면이 나오고 로그를 입력하고 저장하면 커밋이 된다.
(12) import 하기
# svn import srcdir
svn://xxx.xxx.xxx.xxx/test/trunk
(13) checkout 하기
# svn co svn://xxx.xxx.xxx.xxx/test/trunk
'공부중 > 작업하기' 카테고리의 다른 글
| [Linux] VMWare - CentOS 8 설치 (0) | 2022.07.28 |
|---|---|
| [Windows] 서비스 생성/삭제 (0) | 2022.07.27 |
| SVN 오류 (feat. 불필요한 파일 빼기) (0) | 2022.07.27 |
| [Windows] SVN 디렉토리 백업 및 복구 (0) | 2022.07.26 |
| [Windows] 파일 원격 공유 (0) | 2022.07.26 |