一.源码安装

SVN可以yum和源代码安装,上面已经写了yum安装,此处将使用源代码实现SNV的安装。具体步骤如下。

1)安装必要的环境

#yum -y groupinstall "Desktop Platform Development "   安装开发环境

#yum install gcc gcc-c++ 安装gcc环境

2)下载源码并安装

#tar xf subversion-1.6.1.tar.gz

#tar xf subversion-deps-1.6.1.tar.gz

3)编译并安装

#mkdir -pv /usr/local/svnversion

#chown root.root subversion-1.6.1 –R 修改相应的权限

#./configure   --prefix=/usr/local/svnversion/   && make && make install

指令简介:configure命令用于检查安装平台和目标特征,prefix用于指定路径。

添加svn的全局环境变量:

#vim /etc/profile/svn.sh   添加下行

export PATH=$PATH:/usr/local/svnversion/bin

#. /etc/profile.d/svn.sh   使其生效

4)测试是否安装成功

# svnserve   --version 显示版本信息为安装成功

SVN的配置

SVN采用的是为每一个项目单独建立一个版本库的策略,配置文件,密码文件,和访问控制文件等都放在一个版本库文件的conf目录下,所以每次开始一个新的项目都必须新建一个版本库,并且重新配置文件,还有一条,要求各个组员重新配置客户端,包括服务器版本库路径,本地路径等信息。

1)建立版本库目录(版本库可以建立多个,新建库以后各项都需要重新配置,所以安装的时候要注意区别目录与版本号库目录。一下讲的都是版本库目录)

# mkdir -pv /var/www/svndata/vip

2)新建SVN版本库的文件(与上面目录保持一致)

# svnadmin create /var/www/svndata/vip/

说明:版本库不同于文件夹,直接在操作系统上新建文件无法被SVN识别,必须使用import等命令将文件导入到版本库,该命令为内部命令,仅限于新建版本库。

3)修改版本库我配置文件

#vim svnserve.conf

[general]

anon-access = none 使非授权用户无法访问

auth-access = write 使授权用户有写入权限

password-db = passwd 指明密码文件路径

authz-db = authz 访问控制文件

realm = vip 认证命名空间,subversion会在认证时候提示这里的显示,并且作为凭证缓存的关键字。其他的配置采用默认的配置,各语句都必须顶格,否则会出错。

4)配置用户

#vim passwd 可以添加多个用户,格式为用户 =0020密码。

[users]

test1 = 123456

test2 = 123456

5)配置权限 指令简介:此配置文件采用“基于路径的授权”策略,中括号里指定路径,以下列出对各用户的授权,包括只读r,读写rw,没有列出的用户,则不允许访问,还可以对用户分组。 如:

#vim authz

[groups]

admin = svn

user = test1,test2

[/]

@admin = rw

@user = rw

[vip:/]

@admin = rw

@user = rw

6)使用import导入文件

新建好的版本库是空的,需要导入工作目录。

#svnadmin create /usr/local/svn/newrepos

#svnimport mytree file://usr/local/svn/newrepos/some/project

但是在导入后,用来的目录树并没有转换成工作拷贝,为了开始工作,还是需要运行svn checkout导出一个工作拷贝。因为导入后,文件在版本库中是以特殊的形式存在db文件夹中的,不能以明文的方式查看。必须使用svn checkout导出工作副本才能以正常方式查看。

7)启动服务

# svnserve   -d -r /var/www/svndata/vip/  启动服务

指令简介:-d 是指明以守护模式运行,svn默认在3690端口上监听,3690是默认端口,可以使用“—listen-port”或者“—listen-host=” 来指定其他端口,-r选项用来指定svn服务的根目录,这样用户就可以使用相对的路径访问,而不用提供完整的路径。

使用以下命令可以检查svnserver 。

二.备份还原

Svn备份不宜采用普通的文件拷贝方式,如复制同步命令,这样会备份出来的库大部分不可用,因为SVN有自己特定的存储格式,所以最好是用svn本身提供的功能来备份。

Svn有三种备份方式:

1,svnadmin dump

2,svnadmin hotcopy

3,svnsync

1,Svnadmin dump备份

官方推荐的备份方式,优点是比较灵活,可以全量备份也可以增量备份,并提供了版本恢复机制。

参数说明:

-r [--revision ]: 指定的ARG或者范围

--incremental:以增量方式备份

--deltas:在备份中使用差异

-q: 在标准错误输出不显示进度

全量备份:

完全备份svn这个版本库并另存到为fullsvn.bak

# svnadmin  dump /home/svn/ | bizp2 >/home/fullsvn.bak

技巧:

# svnadmin dump --deltas /home/svn/ |bzip2 |tee dump.bz2 | md5sum >dump.md5

--deltas意思是消耗更多的cpu资源,但拥有更有效的差异存储办的。

Bzip2 压缩比gzip慢,但是压缩率更好。

Tee方法把压缩的数据流转向到了dump.zip 文件,同时将输出到后者Md5工具摘要计算工具。来确保文件是否备份成功。

# md5sum  dump.md5

7d6bac04060726a80527aac4a1ba9283  dump.md5

# md5sum  dump.bz2

7d6bac04060726a80527aac4a1ba9283  dump.bz2

该方法恢复文件:

# svnadmin  create /home/newsvn

# bzcat  dump.bz2 | svnadmin  load /home/newsvn/

增量备份:

把增量的版本库

# svnadmin  dump /home/svn/ -r 23 --incremental  >/home/fullsvn.bak

Svnadmin dump还原

# svnadmin  create /home/newsvn 创建新的svn库

# svnadmin  load   /home/newsvn/  < fullsvn.bak 把full备份是全量库还原回去(还原之后svn的配置文件将会成默认的,所以需要重新添加用户权限)

2,svnadmin hotcopy热拷贝备份

原设计目的估计不是用来备份的,只能进行全量拷贝,不能进行增量备份;

# svnadmin hotcopy  /home/svn/  /home/hotsvnbak

3,Svnsync主备同步方案

实际上是制作2个镜像库,当一个坏了的时候,可以迅速切换到另一个。不过,必须svn1.4版本以上才支持这个功能。 真实环境使用较少暂且不写这块的。

linux svn导入dump文件,Linux下svn安装配置及备份还原相关推荐

  1. linux怎么复制文件夹全部内容,linux局域网怎么复制文件夹下的全部文件到另外文件夹...

    在Linux系统局域网中复制或拷贝文件我们可以用cp或者copy命令,但要对一个文件夹中的全部文件复制到另外一个文件夹中去,如何进行操作呢?linux局域网复制文件夹下的全部文件到另外文件夹的方法其实 ...

  2. linux mysql命令行导入_在linux中导入sql文件的方法分享(使用命令行转移mysql数据库)...

    因导出sql文件 在你原来的网站服务商处利用phpmyadmin导出数据库为sql文件,这个步骤大家都会,不赘述. 上传sql文件 前面说过了,我们没有在云主机上安装ftp,怎么上传呢? 打开ftp客 ...

  3. Linux下,安装配置Weblogic

    Linux下,安装配置Weblogic 2009-03-20 15:03 一.安装配置JDK //如果应用不需要高版本的JDK的话,可以不单独安装JDK 1. 安装JDK # chmod a+x jd ...

  4. linux nginx编译安装mysql_Centos7下编译安装配置Nginx+PHP+MySql环境

    序言 这次玩次狠得.除了编译器使用yum安装,其他全部手动编译.哼~ 看似就Nginx.PHP.MySql三个东东,但是它们太尼玛依赖别人了. 没办法,想用它们就得老老实实给它们提供想要的东西. 首先 ...

  5. linux如何安装php,Linux下如何安装配置PHP

    1)本文主要和大家分享Linux下如何安装配置PHP,下载PHP安装包,这里选用PHP 5.6版本,希望能帮助到大家. 并解压PHP安装包wget cn2.php.net/get/php-5.6.31 ...

  6. linux重命名乱码文件,Linux中重命名乱码文件

    Linux下,如何将一个乱码的文件进行重命名 方法一: 命令格式:mv $(ls |egrep "[^a-zA-Z0-9.-]") tandao.tx [root@nb o]# l ...

  7. Linux下mongodb安装配置教程

    Linux下mongodb安装配置教程 这里写目录标题 Linux下mongodb安装配置教程 1. 在linux(ubuntu)下安装mongodb 2. 遇到的坑 1. 在linux(ubuntu ...

  8. Linux C try 头文件,linux c 头文件

    //1.Linux中一些头文件的作用: #include //ANSI C.提供断言,assert(表达式) #include //GCC.GTK,GNOME的基础库,提供很多有用的函数,如有数据结构 ...

  9. linux php 安装图文教程下载,linux下php安装配置教程

    linux下php安装配置教程 (6页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 19.90 积分 linux 下安装下安装 apache 与与 php ...

最新文章

  1. 干货 | 5个常用的深度学习框架
  2. 北大OJ百练——3179:最长单词(C语言)
  3. 如何无缝迁移 SpringCloud/Dubbo 应用到 Serverless 架构
  4. 淘宝网消费者年维权成功金额达1.69亿
  5. python人脸关键点识别_用Face++实现人脸关键点检测
  6. python按月分组_python-将行按两列分组并通过比较过滤值
  7. MVVM教程(2):
  8. JUnit5 @BeforeEach注解示例
  9. maven不引入parent_Maven从入门到放弃
  10. 突发,Spring框架发现重大漏洞!
  11. C++ for (auto it:myset) 是什么意思 引用
  12. jackson改变json值_使用jackson处理json数据
  13. 数学建模之统计回归模型详解
  14. List转Map的几种方式
  15. 人民币对美元汇率中间价报6.7774元 下调109个基点
  16. 电脑系统怎么重装?PE系统安装教程一键系统重装
  17. Vue的生命周期钩子函数之activated
  18. win11如何快速关机 windows11快捷键关机的设置方法
  19. 奇闻 为什么Xenophon DAO 社区人人都想戴 绿帽子
  20. 数字化是指用计算机,数字化

热门文章

  1. 网络科技公司官网源码网站建设官网建站公司模板
  2. Kendo UI使用教程:入门指南
  3. 虚拟无限--对虚拟机与虚拟化的简单整理
  4. 公司监事要承担哪些责任及义务
  5. 专利申请需要多少时间?
  6. 有趣的数学题,回家解决
  7. 类(class)文件结构
  8. C#高德地图经纬度转地理位置或物理地址
  9. 苹果授权登陆 服务端验证(java)
  10. 代码随想录刷题|LeetCode 332.重新安排行程 51. N皇后 37. 解数独