2022年10月28日08:43:17

网上有很多的迁移方案,但是发现不适合多个子项目的svn库
例如:

svnadmin create /usr/local/svn_home/repostory 创建版本库repostory
cd /usr/local/svn_home/repostory

cp hooks/pre-revprop-change.tmpl hooks/pre-revprop-change

chmod 777 hooks/pre-revprop-change

vim hooks/pre-revprop-change # 修改最后一行代码,如下
exit 0

具体迁移命令
svnsync  init  file:///usr/local/svn_home/repostory svn://ip或者域名/repostory
svnsync sync file:///usr/local/svn_home/repostory

通过svn的使用发现一个其他办法,更加简单高效

创建两个仓库

svnadmin create /svn_data/www/crm
svnadmin create /svn_data/www/api
启动服务脚本 svn.sh

#!/bin/bash
#chkconfig: 2345 80 90
#description:auto_run
/usr/bin/svnserve -d -r /svn_data/www

启动服务
sh svn.sh

svnserve启动是没有依赖特定文件或者配置的,所以完全可以copy原服务器的文件到新服务,修改脚本之后直接启动

我的方案是:
1,原服务器a svn服务停止,scp服务器a的/svn_data/www目录的所有文件到新服务器b,如果a,b不能直连,通过sftp转传一下
2,最好不要先子项目改配置文件,按照服务器a的路径直接迁移过去,在启动sh svn.sh服务,客户端测试一下a,b服务器svn项目的日志和文件是否一致
3,测试没问题之后,在根据自己新服务的资源,修改svn项目的配置文件,或者更改路径等,在启动测试

这样省去很多操作,特别子项目很多的svn库

一些需要注意的操作:

开机启动
将脚本拷贝到/etc/rc.d/init.d目录下
cp  /svn_data/svn.sh /etc/rc.d/init.d/

2.增加脚本的可执行权限
chmod +x  /etc/rc.d/init.d/svn.sh

3.添加脚本到开机自动启动项目中
cd /etc/rc.d/init.d
chkconfig --add svn.sh
chkconfig svn.sh on

注意:关闭 selinux 不然会影响开机启动
vi /etc/selinux/config,
将SELINUX=enforcing改为SELINUX=disabled

关闭firewalld
systemctl status firewalld.service
systemctl stop firewalld.service
systemctl disable firewalld.service

原文地址:http://www.cnblogs.com/zx-admin/p/16834627.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性