• CSVN备份初体验


    备份方法挺多的,目前我知道有四种

    其一:

    首先复制旧csvn服务器上repositories下的版本库文件夹到新csvn服务器repositories文件夹下面(做以下修改时最好把csvn服务停掉)

    然后复制旧csvn的svn_auth_file到新csvn上(相当于复制用户密码)

    接着就是复制旧服务器上的用户账号信息(例如邮箱,权限等)

     csvn-production-hsqldb.script   在这个文件里搜索INSERT   INTO  USER 然后复制这几行,追加到新服务器上的对应文件中(这里我遇到一个问题,就是我在csvn的web管理界面可以看到我新建的用户,但是我在这个文件中却找不到对应的插入信息,最后发现是没有重启csvn的问题)

    接着用旧csvn服务器上svn_access_file文件覆盖新csvn服务器上的对应文件,该文件为用户访问权限(为了安全起见,最好将被替换的文件先做好一个备份,防止出现异常情况无法恢复)

    最后重启csvn,迁移就完成了。

    其二:

    svnadmin dump 

    原服务器

    cd repositories

    svnadmin dump svncopy/ > test.dump

    复制版本库的服务器

    1056 scp root@10.0.3.107:/application/csvn/data/repositories/test.dump ./     #scp传文件就是杠杠的
    1057 ls
    1058 svnadmin load test.dump  #命令有错
    1059 svnadmin load /application/csvn/data/repositories/ test.dump  #命令有错
    1060 svnadmin load /application/csvn/data/repositories/ < test.dump  #还是有错
    1061 ls
    1062 ls -l
    1063 chown -R csvn:csvn test.dump            #尝试修改拥有者,无效
    1064 svnadmin load /application/csvn/data/repositories/ < test.dump
    1065 svnadmin create test        #新建一个版本库
    1066 svnadmin load /application/csvn/data/repositories/test < test.dump   #执行成功
    1067 ls
    1068 ls -l
    1069 chown -R csvn:csvn test      #配置权限


    其三:

    svnadmin hotcopy

     服务器a:

    [root@localhost repositories]# svnadmin hotcopy testb testb.hotcopy  

    服务器b:

    1074 scp -r root@10.0.3.107:/application/csvn/data/repositories/testb.hotcopy ./
    1075 ls
    1076 ls -l
    1077 chown -R csvn:csvn testb
    1078 ls -l
    1079 chown -R csvn:csvn testb.hotcopy/

    其四:

    svnsync

    [root@node2 svnmirror]# cd /application/csvn/data/repositories/      #我选择直接在这里备份版本库
    [root@node2 repositories]# svnadmin create bp              #创建同名的备份库
    [root@node2 repositories]# svnsync init file:///application/csvn/data/repositories/bp/ http://10.0.3.107:18080/svn/bp      #同步前先初始化,file后面就是我用来存放备份版本库的路径,后面是需要备份的版本库路径。然后,报错
    svnsync: E165006: Repository has not been enabled to accept revision propchanges;
    ask the administrator to create a pre-revprop-change hook
    [root@node2 repositories]# cp bp/hooks/pre-revprop-change.tmpl bp/hooks/pre-revprop-change    #安全起见,pre-revprop-change是我们初始化过程中需要的文件
    [root@node2 repositories]# vi bp/hooks/pre-revprop-change                    #不能将文件清空,只需要把最后一行的exit 1改为exit 0
    [root@node2 repositories]# svnsync init file:///application/csvn/data/repositories/bp/ http://10.0.3.107:18080/svn/bp    #再次尝试初始化
    Copied properties for revision 0.
    [root@node2 repositories]# svnsync sync file:///application/csvn/data/repositories/bp/        #正式开始同步
    Transmitting file data .
    Committed revision 1.
    Copied properties for revision 1.
    [root@node2 repositories]# ls
    bp
    [root@node2 repositories]# ls -l
    total 4
    drwxr-xr-x 6 root root 4096 Nov 22 02:23 bp
    [root@node2 repositories]# chown -R csvn:csvn bp/                       #这时候进入csvn的web管理界面,会提示权限不足或者无法显示出来,所以我们需要修改拥有者
    [root@node2 repositories]# svnsync sync file:///application/csvn/data/repositories/bp/        #这个相当commit吧
    Transmitting file data .
    Committed revision 2.
    Copied properties for revision 2.
    [root@node2 repositories]# ls

    编辑被同步的csvn服务器上的post-commit(本来是没有这个文件的,需要把post-commit.tmpl 重命名为post-commit)

    /application/csvn/bin/svnsync synchronize --non-interactive http://10.0.3.102:18080/svn/svncopy --username admin --password admin

    那个网址为用来同步的另一台服务器svn路径(我是直接进入csvn里面查看检出命令,得到这个路径的)

    然后重启csvn服务器就差不多了

  • 相关阅读:
    #mxnet# infer_shape ,附 module 中 symbol 提取
    #Ubuntu# boot失败:could not write bytes: broken pipe
    MXNet openblas
    【CodeChef】Turbo Sort
    【HackerRank】Median
    【HackerRank】Coin on the Table
    【HackerRank】Pairs
    【HackerRank】Cut the tree
    【HackerRank】Missing Numbers
    【HackerRank】Closest Numbers
  • 原文地址:https://www.cnblogs.com/biaopei/p/7880680.html
Copyright © 2020-2023  润新知