centos7 svn在repository在的情况下重装恢复

摘要:
该公司的一台centos服务器意外崩溃,无法进入系统。未备份svn。重新安装系统后,我发现存储库文件夹仍然存在。幸运的是,代码没有放在根目录中。安装svn以开始恢复。首先安装svnyum yinstallsubversion。大多数教程都教您如何从头开始创建存储库。现在存储库文件仍在使用中。我该怎么办?在网上搜索后,给出了两种迁移方案。一种是使用转储进行备份,然后将#还原到备份svn

公司一台centos服务器一不小心被搞崩溃了,进不去系统,svn没有备份,泪牛满面~

重装系统后,发现repository文件夹还在,幸亏代码没放根目录。

安装svn

开始恢复,先安装svn

yum -y install subversion

迁移

大部分教程都是教从头创建repository,现在repository文件还在,该怎么操作?

网上搜了一通,给出两种迁移方案,一种是用dump备份,之后再复原

#备份
svnadmin dump repos/XX > 2414.dump
#建新仓库
svnadmin  create  /home/repos4
#load dump文件
svnadmin load /home/repos4 < 2414.dump
#启动SVN服务
svnserve -d -r /home/repos4

第二种方案,使用 svnsync 迁移SVN代码库(适用两台svn机器都可用的情况)

#1、建新仓库,参考方法一
#2、修改新建仓库中hooks 下的 名为 pre-revprop-change 的文件
cp pre-revprop-change.tmpl pre-revprop-change
chmod 777  pre-revprop-change  (给pre-revprop-change文件赋执行权限)
#3、修改  pre-revprop-change 脚本最后一行 为  exit 0
#4、初始化
svnsync  init  file:///home/yst/svn/svn-admin/repos5 svn://xx.xx.xx.xx
#svnsync  init   file:// 新机器仓库目录路径   源服务器的IP(可以通过http协议,还可以通过svn协议)
#5、同步
svnsync sync file:///home/yst/svn/svn-admin/repos5
#6、将原仓库的 uuid 复制过来,覆盖新服务器上的UUID

好像都挺麻烦,我使用的方式是,直接用svnserve启动原repository目录,这里注意端口是否开放

firewall-cmd --zone=public --add-port=3690/tcp --permanent   # 开放3690端口
firewall-cmd --reload
#查看防火墙所有开放的端口
firewall-cmd --zone=public --list-ports
#检查端口被哪个进程占用
netstat -lnpt |grep 5672

开机自启动

svn装好后,设置开机自启动,找到systemd里的svn配置文件 /lib/systemd/system/svnserve.service

[Unit]
Description=Subversion protocol daemon
After=syslog.target network.target

[Service]
Type=forking
EnvironmentFile=/etc/sysconfig/svnserve
ExecStart=/usr/bin/svnserve --daemon --pid-file=/run/svnserve/svnserve.pid $OPTIONS

[Install]
WantedBy=multi-user.target

找到svn 的 service 配置文件 /etc/sysconfig/svnserve 编辑配置文件

vi /etc/sysconfig/svnserve

将 OPTIONS="-d -r /var/svn" 改为 svn 版本库存放的目录,:wq 保存退出

在提示符下输入

systemctl enable svnserve.service
systemctl start svnserve.service

启动之后,出现permission denied错误

永久关闭SELINUX

需要重启:

vim /etc/selinux/config

修改为:

SELINUX=disabled

免责声明:文章转载自《centos7 svn在repository在的情况下重装恢复》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇文章详情页文章评论功能爬虫实战篇(模拟登录)---我们以模拟去哪儿网为例下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

windows 下 webstorm 使用SVN

1、安装了webstorm之后,用了很久都没有配置SVN 现在想配置svn,结果发现一般的svn程序不好用。 经指导,发现需要安装一个专用于webstorm的SVN 2、在file->settings->Version Contorl->subversion->with conmand line client配置成 D:Progra...

SVN目录自动更新(客户端)

@echo off@echo ================自动更新SVN Start===============rem SVN安装目录SET svn_home=D:Program FilesTortoiseSVNinrem SVN项目目录SET svn_work=D:CodesvnSourceCodeUnpackagerem SVN日志目录remSE...

exception throw in progress runner thread_VS2015中SVN源代码无说明提交异常

1-问题描述:通过SVN将代码变更提交服务器时,你可能会遇到以下异常:  exception throw in progress runner thread 2-解决办法: SVN代码源代码管理和TFS源代码管理稍微有些区别:TFS代码提交时可以不填写任何说明,而SVN需要填写 所以解决办法很简单,在提交时填写提交说明即可。如下:...

SVN服务器安装与本地连接

SVN服务器安装与本地连接 系统环境 Centos7 查看是否安装了低版本SVN [root@svn-server ~]# rpm -qa subversion 卸载旧版本SVN [root@svn-server ~]# yum remove subversion 安装 [root@svn-server ~]# yum install httpd http...

如何用Android Studio同时使用SVN和Git管理项目

本篇文章已授权微信公众号 dasu_Android(大苏)独家发布 这篇来讲讲如何在 Android Studio 上同时用 SVN 和 Git 来管理项目。我知道,你肯定会说我吃饱了撑着,没事找事做,为啥要同时用 SVN 和 Git 来管理项目。问题是,我也不想啊,我也很无奈啊(:(哭丧脸)。 为啥要同时用 SVN 和 Git 管理项目 这小题目也可以叫...

git学习——svn代码同步到git(3)

git svn 同步 最近接手的项目代码放在svn,但是svn推送分支的代价太高了,每个分支目录都是一次全拷贝,所以项目转用git进行版本管理。 最傻的方法是新建git分支,将svn的代码作为源代码重新提交,但是这种方法没办法获取到svn的commit记录,这对版本追踪是不可忍的。所以放弃。 第二种方式,是将svn的分支连同commit记录一起merge到...