把Centos7.6旧系统系统中的svn数据 (SVN 1.7.14版本) 

迁移到 新的服务器上 (Ubuntu22 SVN 1.14.1版本)


总体来讲 就三步,备份数据,导入备份,验证。 


第一步、备份数据

  1. 在 Centos7.6 上备份svn仓库数据,把仓库备份到 tmp/svn_backup.dump 

svnadmin dump /var/svn/svnrepos > /tmp/svn_backup.dump

    2. 把备份的数据迁移到 Ubuntu新服务器上的 tmp/目录下

scp /tmp/svn_backup.dump root@<Ubuntu服务器IP>:/tmp

   3. 在 CentOS 上,打包旧仓库的配置文件svn_conf.tar.gz

cd /var/svn/svnrepos/conf
tar -zcvf /tmp/svn_conf.tar.gz .

  4. 把备份的配置文件迁移到 Ubuntu新服务器上的 tmp/目录下

scp /tmp/svn_conf.tar.gz root@<Ubuntu服务器IP>:/tmp


第二步、新服务器Ubuntu上安装svn 

  1. 安装SVN

sudo apt update
sudo apt install subversion -y

    2. 验证是否安装成功:

svnserve --version

   3. SVN 仓库的父目录(例 /var/svn)

sudo mkdir -p /var/svn

   4. 创建一个全新的空仓库(仓库名为 svnrepos,与旧仓库同名方便管理):

sudo svnadmin create /var/svn/svnrepos

第三步:导入备份的数据 (svn_backup.dump)

 1. 执行导入命令:

sudo svnadmin load /var/svn/svnrepos < /tmp/svn_backup.dump

注意:导入过程可能需要几分钟,取决于 dump 文件的大小


 2. 将传到 Ubuntu 服务器上的svn_conf.tar.gz配置文件解压 覆盖新仓库的配置

cd /var/svn/svnrepos/conf
sudo tar -zxvf /tmp/svn_conf.tar.gz

 3. 检查新仓库的 svnserve.conf 文件,确保以下配置未被注释且正确:

anon-access = none
auth-access = write
password-db = passwd
authz-db = authz

 4. 赋予 SVN 服务对新仓库目录的完全读写权限

sudo chown -R www-data:www-data /var/svn/svnrepos
sudo chmod -R 755 /var/svn/svnrepos

 5. 启动svn

sudo svnserve -d -r /var/svn

 6. 完整性校验

svnadmin verify /var/svn/svnrepos

 7. 放行端口 3690 云服务器 要到指定的云服务商后台 在安全组 中放行 3690端口


sudo ufw allow 3690/tcp
sudo ufw reload

8. 客户端验证
image.png

输入: svn://ip/svnrepos  即可访问新的svn数据仓库

image.png


以上!