zoukankan      html  css  js  c++  java
  • centos7 svn在repository在的情况下重装恢复

    公司一台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
    
  • 相关阅读:
    selenium—用NoSuchElementException异常判断页面元素是否存在
    CentOS7 Nginx安装及配置反向代理
    CentOS7 安装 jexus-5.8.2-x64
    Windows Server 2008 R2远程协助选项 灰色
    IIS8.5 Error Code 0x8007007e HTTP 错误 500.19的解决方法
    记一次 windows server 2012R2 上安装 MSSQL2005 及网站发布
    记一次《系统集成实施的相关知识》培训自己感悟
    MySql 远程连接的条件
    CentOS7 下安装mysql历程
    VirtualBox虚拟机网络设置(四种方式)
  • 原文地址:https://www.cnblogs.com/weiweiting/p/15410461.html
Copyright © 2011-2022 走看看