📝 SVN安装和迁移

← 返回笔记列表

SVN安装和迁移

2026年05月20日 08:56

SVN安装

CentOS7/8/Stream

# 安装subversion
sudo yum install subversion

midkr /opt/svndata/demo
svnadmin create /opt/svndata/demo

# 配置文件路径
cd /opt/svndata/demo/conf

passwd //帐号密码文件

[users]
# harry = harryssecret
liuqing = passwdxxx

authz //权限控制文件

[groups]
admin = user1,user2

[/]
@admin = rw
user3 = rw
* =

[/demo/doc]
user4 = rw
user5 = r

# 指出针对哪个仓库
# [repository:/baz/fuz]
# 该仓库授权给此组
# @harry_and_sally = rw
# 其他授权为只读
# * = r

svnserve.conf //SVN服务配置文件

# 打开以下配置
auth-access = write #授权用户可写
password-db = passwd #使用哪个文件作为账号文件
authz-db = authz #使用哪个文件作为权限文件
realm = /home/svn # 认证空间名,版本库所在目录

SVN启动

设置端口和启动目录

# 添加SVN用户和设置权限
useradd svn
chown svn:svn -R /opt/svndata/
# 启动和重启服务
ps -ef |grep svnserve |awk {'print $2'} | sed -e "s/^/kill -9 /g" |sh -
su - svn -c "svnserve -d --listen-port 9000 -r /opt/svndata"

authorization failed

conf/svnserve.conf

[general]
anon-access = read
auth-access = write
password-db = passwd
authz-db = authz

conf/passwd

[users]
admin=passwd123

conf/authz

[groups]

[/]
admin= rw

SVN备份迁移

# 备份全部
svnadmin dump /opt/svndata/repos > repos.dump
# 备份排除文件夹
svndumpfilter exclude svwmp2 < repos.dump > filtered.dump
# 导入备份文件
rm -rf /opt/svndata/repos
svnadmin load /opt/svndata/repos < filtered-repos.dump

# 备份并打包
svnadmin dump /opt/svndata/repos | gzip > repos-backup.gz
# 解压
guzip repos-backup.gz
# 创建SVN节点 需要配置serve
svnadmin create /opt/svndata/repos
# 导入备份文件
svnadmin load /opt/svndata/repos < repos-backup.dump

# 导出时多文件夹过滤
svndumpfilter exclude demoworks WebSocket < repos-backup > filtered.dump
返回顶部 ← 返回笔记列表