概要:
1.两台Linux服务器,一台目前使用中的,如服务器1:172.17.210.82(备份也在本机中),
另外一台是需要还原的,如服务器2:172.17.210.218(使用172.17.210.82服务器的备份还原在172.17.210.218服务器上)
2.服务器2:172.17.210.218需要先安装SVN,最好和服务器1:172.17.210.82目录保持一致,如:/data/svn
具体Linux安装SVN可以参考如下链接,安装目录为:/opt/svn,自己可以安装在/data/svn中,
http://www.cnblogs.com/iconfig/p/4702518.html
3.先查看服务器1:172.17.210.82的SVN备份脚本和路径,如:SVN库为:scm-admin
svnadmin dump /data/svn/scm-admin >/data/backup/svn-dump/scm-admin.dump
4.由于我们这里是有很多个SVN库,所以用户账号和权限管理文件统一放在:/data/svn/conf,钩子脚本也统一放在:/data/svn/hocks。
1- 在服务器2:172.17.210.218上创建目录
mkdir -p /data/svn/conf mkdir -p /data/svn/hooks
2- 拷贝配置文件及钩子脚本
scp [email protected]172.17.210.82:/data/svn/conf/authz /data/svn/conf scp [email protected]172.17.210.82:/data/svn/conf/passwd /data/svn/conf scp [email protected]172.17.210.82:/data/svn/conf/svnserve.conf /data/svn/conf scp [email protected]172.17.210.82:/data/svn/hooks/pre-commit /data/svn/hooks
3- 创建scm-admin版本库
svnadmin create /data/svn/scm-admin
4- 拷贝备份至服务器2:172.17.210.218
scp [email protected]172.17.210.82:/data/backup/svn-dump/scm-admin.dump /data/svn/scm-admin
需要输入服务器1:172.17.210.82的root密码
5- 还原SVN库
svnadmin load /data/svn/scm-admin </data/svn/scm-admin/scm-admin.dump
进入一条一条记录还原状态,请耐心等待,SVN库大的话需要耗时较长
5.进入配置目录conf,删除原有的,并指向统一的配置目录
cd /data/svn/scm-admin/conf rm * -rf ln -s ../../conf/authz authz ln -s ../../conf/passwd passwd ln -s ../../conf/svnserve.conf svnserve.conf
6.进入钩子脚本目录,并指向统一的钩子脚本目录
cd /data/svn/scm-admin/hooks ln -s ../../hooks/pre-commit pre-commit chmod +x pre-commit
7.启动SVN
svnserve -d -r /data/svn
至此:SVN备份库已经还原成功,可以正常访问了。
8.如果原来端口不是默认的:3690,也可以修改;先杀掉SVN进程,再修改SVN端口,如:9999
killall svnserve svnserve -d -r /opt/svn --listen-port 9999
时间: 2024-10-23 13:09:50