暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

记一次 | svn迁移

chkl 2024-04-25
215

环境:源端windowsserver2008,目标端:centos7.9
总体思路为:源端导出所有项目,目标端导入项目,最后配置好权限文件。

1、源端导出项目文件

编写svn_dump.bat脚本批量导出项目数据及配置文件。

d:
cd svn

dir /s /b |findstr "conf\authz" > f:\data\svn_dir.txt

f: 
cd data\
for /F "tokens=3,5 delims=\" %%a in (f:\data\svn_dir.txt) do ( 
	svnadmin dump 	%%a	>      f:\data\%%a.dump
	copy  d:\svn\%%a\conf\%%b  f:\data\conf\%%a--%%b
)

dir /s /b |findstr "conf\passwd" > f:\data\svn_dir.txt

for /F "tokens=3,5 delims=\" %%a in (f:\data\svn_dir.txt) do ( 
	copy  d:\svn\%%a\conf\%%b  f:\data\conf\%%a--%%b
)

pause

2、上传到目标端,并安装svn服务

yum install subversion
mkdir svn
svnadmin create /home/git/svn/cs

我们这里特别关注一下conf文件夹,这个是存放配置文件的
其中:
authz 是权限控制文件
passwd 是帐号密码文件
svnserve.conf 是SVN服务配置文件

[root@localhost conf]# vi passwd 
[users]
test1=123456
test2=123456

[root@localhost conf]# vi authz
[groups]
group1 = admin
group2 = test1,test2
[/]
@group1 = rw
@group2 = r
* =

[root@localhost conf]# vi svnserve.conf 
打开下面的5个注释
anon-access = none #匿名用户可读read,不可读
auth-access = write #授权用户可写
password-db = passwd #使用哪个文件作为账号文件
authz-db = authz #使用哪个文件作为权限文件
realm = /home/git/svn/cs # 认证空间名,版本库所在目录

3、svn启动与停止

[root@localhost conf]# svnserve -d -r /home/git/svn/
[root@localhost conf]#killall svnserve

4、批量导入

vim abc_svn_pl.sh

#!/bin/bash
. /etc/profile

cd /home/git/qy_shell
cat svn_dir.txt |grep -v ".bak" conf_pw.txt
 
v_txt=/home/git/conf_pw.txt

count=0
while read line
do
 let count++
 echo "---------正在执行$line------------"
 v_na=$(echo $line  |cut -d '\' -f 3)

 v_pa=/home/git/svn/${v_na}/conf
 svnadmin  create ${v_na}
 svnadmin load   ${v_na} < /home/git/svn_dump/${v_na}.dump
 cp /home/git/svnserve.conf  ${v_pa}/
 cat /home/git/qy_shell/conf/${v_na}--passwd > ${v_pa}/passwd 
 cat /home/git/qy_shell/conf/${v_na}--authz  > ${v_pa}/authz
 dos2unix  ${v_pa}/passwd 
 dos2unix  ${v_pa}/authz
done < ${v_txt}

5、客户端验证

svn://xxx.xxx.xxxx.xxx:3690/cs
#输入认证用户密码登录后访问
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论