linux svn导入dump文件,Linux下svn安装配置及备份还原
一.源码安装
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安装配置及备份还原相关推荐
- linux怎么复制文件夹全部内容,linux局域网怎么复制文件夹下的全部文件到另外文件夹...
在Linux系统局域网中复制或拷贝文件我们可以用cp或者copy命令,但要对一个文件夹中的全部文件复制到另外一个文件夹中去,如何进行操作呢?linux局域网复制文件夹下的全部文件到另外文件夹的方法其实 ...
- linux mysql命令行导入_在linux中导入sql文件的方法分享(使用命令行转移mysql数据库)...
因导出sql文件 在你原来的网站服务商处利用phpmyadmin导出数据库为sql文件,这个步骤大家都会,不赘述. 上传sql文件 前面说过了,我们没有在云主机上安装ftp,怎么上传呢? 打开ftp客 ...
- Linux下,安装配置Weblogic
Linux下,安装配置Weblogic 2009-03-20 15:03 一.安装配置JDK //如果应用不需要高版本的JDK的话,可以不单独安装JDK 1. 安装JDK # chmod a+x jd ...
- linux nginx编译安装mysql_Centos7下编译安装配置Nginx+PHP+MySql环境
序言 这次玩次狠得.除了编译器使用yum安装,其他全部手动编译.哼~ 看似就Nginx.PHP.MySql三个东东,但是它们太尼玛依赖别人了. 没办法,想用它们就得老老实实给它们提供想要的东西. 首先 ...
- linux如何安装php,Linux下如何安装配置PHP
1)本文主要和大家分享Linux下如何安装配置PHP,下载PHP安装包,这里选用PHP 5.6版本,希望能帮助到大家. 并解压PHP安装包wget cn2.php.net/get/php-5.6.31 ...
- linux重命名乱码文件,Linux中重命名乱码文件
Linux下,如何将一个乱码的文件进行重命名 方法一: 命令格式:mv $(ls |egrep "[^a-zA-Z0-9.-]") tandao.tx [root@nb o]# l ...
- Linux下mongodb安装配置教程
Linux下mongodb安装配置教程 这里写目录标题 Linux下mongodb安装配置教程 1. 在linux(ubuntu)下安装mongodb 2. 遇到的坑 1. 在linux(ubuntu ...
- Linux C try 头文件,linux c 头文件
//1.Linux中一些头文件的作用: #include //ANSI C.提供断言,assert(表达式) #include //GCC.GTK,GNOME的基础库,提供很多有用的函数,如有数据结构 ...
- linux php 安装图文教程下载,linux下php安装配置教程
linux下php安装配置教程 (6页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 19.90 积分 linux 下安装下安装 apache 与与 php ...
最新文章
- 干货 | 5个常用的深度学习框架
- 北大OJ百练——3179:最长单词(C语言)
- 如何无缝迁移 SpringCloud/Dubbo 应用到 Serverless 架构
- 淘宝网消费者年维权成功金额达1.69亿
- python人脸关键点识别_用Face++实现人脸关键点检测
- python按月分组_python-将行按两列分组并通过比较过滤值
- MVVM教程(2):
- JUnit5 @BeforeEach注解示例
- maven不引入parent_Maven从入门到放弃
- 突发,Spring框架发现重大漏洞!
- C++ for (auto it:myset) 是什么意思 引用
- jackson改变json值_使用jackson处理json数据
- 数学建模之统计回归模型详解
- List转Map的几种方式
- 人民币对美元汇率中间价报6.7774元 下调109个基点
- 电脑系统怎么重装?PE系统安装教程一键系统重装
- Vue的生命周期钩子函数之activated
- win11如何快速关机 windows11快捷键关机的设置方法
- 奇闻 为什么Xenophon DAO 社区人人都想戴 绿帽子
- 数字化是指用计算机,数字化