svnadmin dump /var/www/svn/reposA/ > ~/reposA.svn_dump
svnadmin dump /var/www/svn/reposA/ > ~/reposA.svn_dump
전체 저장소를 덤프 받습니다.
svnadmin dump /var/www/svn/reposA/ -r 10 > ~/reposA.svn_dump
리비전 10만 덤프 받습니다.
svnadmin dump /var/www/svn/reposA/ -r 10:20 > ~/reposA.svn_dump
리비전 10에서 20까지 덤프를 받습니다.
svnadmin dump /var/www/svn/reposA/ | svndumpfilter include WORK > ~/reposA.svn_dump
저장소에서 WORK 폴더만 덤프를 받습니다.
svnadmin dump /var/www/svn/reposA/ | svndumpfilter exclude TEMP > ~/reposA.svn_dump
저장소에서 TEMP 폴더만 제외하고 덤프를 받습니다.
svnadmin dump /var/www/svn/reposA/ -r {2014-01-20}:HEAD > ~/reposA.svn_dump
저장소에서 TEMP 폴더만 제외하고 덤프를 받습니다.
svnadmin dump /var/www/svn/reposA/ -r 0:1000 > ~/repos-0-1000.svn_dump svnadmin dump /var/www/svn/reposA/ -r 1000:2000 --incremental > ~/repos-1000-2000.svn_dump svnadmin dump /var/www/svn/reposA/ -r 2000:3000 --incremental > ~/repos-2000-3000.svn_dump
구간별로 증분이 가능 하도록 덤프를 받습니다. load시 증분해서 복원이 가능 함.
svnadmin dump /var/www/svn/reposA/ | gzip -9 > ~/reposA.svn_dump.gz
gunzip ~/reposA.svn_dump.gz
덤프를 복원하기 위해서는 기존의 저장소나 빈 저장소가 있어야 합니다.
svnadmin --help create 를 참고 하세요.
svnadmin load /path/to/repo < ~/reposA.svn_dump
repo라는 저장소에 덤프 파일을 복원 합니다.
svnadmin load /path/to/repo < ~/repos-0-1000.svn_dump svnadmin load /path/to/repo < ~/repos-1000-2000.svn_dump svnadmin load /path/to/repo < ~/repos-2000-3000.svn_dump
이전에 증분했던 순서대로 다시 차례대로 넣어 주면 됩니다.
svnrdump
은 원격에서 덤프를 할수 있습니다. 사용법은 동일합니다.
그러나 원격인 만큼 네트워크에 문제가 발생할수 있으니 적당한 크기로 잘라서 덤프하는게 좋습니다.
repo=$1 # 언어 환경에 따라 수정 필요 HEAD=`svn info https://devops.ssfshop.com/svn/cnp | grep 리비전 | grep -v 마지막 | awk '{print $2}'` repoSymbol=`basename $repo` rev=0 while true; do next=$((rev + 9999)) if [[ $next -gt $HEAD ]]; then next=$HEAD fi #echo "$rev to $next" r=$(printf "%06d" $rev) echo "svnrdump dump $repo -r${rev}:${next} --incremental > ${repoSymbol}_${r}_${next}.dump" svnrdump dump $repo -r${rev}:${next} --incremental > ${repoSymbol}_${r}_${next}.dump rev=$((rev + 10000)) if [[ $rev -gt $HEAD ]]; then break fi done
svn
backup
restore