首页 > 代码库 > SVN安装与库备份

SVN安装与库备份

1、安装subversion( Ubuntu  ):

     sudo apt-get install subversion
     =>查看是否安装成功:dpkg -L subversion

     =>卸载程序:sudo apt-get remove subversion

     sudo apt-get autoremove


2、创建版本库所在的目录:

      mkdir /home/svn


3、创建项目的版本库:

    svnadmin create /home/svn/myproject


4,修改svnserve.conf (文件位置:/home/svn/conf/svnserve.conf)

    [root@BlackGhost conf]# vi svnserve.conf

    [general]

    anon-access = none

    auth-access = write

    password-db = passwd

    authz-db = authz


5, 目录控制文件authz (文件位置:/home/svn/conf/authz)

    [root@BlackGhost conf]# vi authz

    [groups]

    admin= zhangsan

    [myproject:/]

    @admin = rw

    * = r


6, 修改用户密码文件passwd(文件位置:/home/svn/conf/passwd)

    [root@BlackGhost conf]# vi passwd
    [users]
    zhangsan   = *****


7,启动svn

    [root@BlackGhost www]# svnserve -d -r /home/svn
    => –i 作为 inetd 启动。
    => -d参数表示svnserve将会作为一个服务程序运行在后台。
    => -r参数表示将/home/svn指定为代码库的根目录。
            这样,当客户端使用类似 svn://192.168.0.1/myproject这样的URL访问服务器的时候,其所访问的

            真实库是/home/svn/myproject。
    => --listen-port,--listen-host 可以指定绑定的地址和端口,
    => -R 可以强制设定为 Read-Only 模式

    在这里特别的要注意,/home/svn是仓库的根目录,不要和[myproject:/]目录重叠了。

    如果重叠是会提示你以下错误

    [ zhangsan  @BlackGhost checkout]$ svn co svn://127.0.0.1/

    svn: Authorization failed

    =>开机启动:/etc/init/rc.local中增加一行就可以了:svnserve -d -r /home/svn


8,查看是否启动

 ps -ef | grep svnserve

  =>停止服务:killall svnserve


9,完全备份和增量备份svn

    svnadmin dump /svn/project/www > full.svn.bak

    #完全备份/svn/project/www这个版本库,并另存为full.svn.bak

    svnadmin dump /svn/project/www -r 8 –incremental > svn.bak.1
    #以增量把版本库8转存到svn.bak.1


10,还原版本库

    svnadmin create /svn/project/test #创建一个新的版本库

    svnadmin load /svn/project/test < full.svn.bak #现还原完全备份

    svnadmin load /svn/project/test < svn.bak.1 #再还原增量备份的内容


11,热拷贝

    svnadmin hotcopy /svn/project/www /root/backup.svn.www/
    #热拷贝www这个版本库,可以直接拿来用


本文出自 “奇迹” 博客,请务必保留此出处http://ww0606.blog.51cto.com/7023013/1875559

SVN安装与库备份