Linux中SVN的备份与恢复

linux中SVN备份有三种方式

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

缺点是版本数过大,增长到数万以上,那么dump与load过程都将非常慢,耗时长不利于快速进行灾难恢复。在版本数较小的情况下可以使用这种备份方式。

2、svnadmin hotcopy 只能进行全量拷贝,不能进行增量备份。优点是备份较快,恢复也快。缺点是比较耗费硬盘。

3、svnsync实际是制作2个镜像库,当一个坏了的时候可以迅速切换到另一个。需1.4以上版本支持,这里不讨论。

svnadmin dump方式:

1、全量备份一个仓库:

#svnadmin dump /svn/svn/APP > /svn/svndump/APP_dump160802

在另一台机器上配置同样的SVN服务器导入dump出来的备份文件

#svnadmin load /svn/svn/APP < APP_dump160802

将原先服务器的配置文件备份后复制到新服务器中 authz、passwd、svnserver.conf

2、增量备份

#svnadmin dump /svn/svn/APP -r 5200:5600 --incremental > /svn/svndump/APP_5600

5200是上次全量备份时的最新版本,5600是当前最新版本。

导入:svnadmin load /svn/svn/APP < APP_5600

svnadmin hotcopy方法:
1. 备份

svnadmin hotcopy /svn/svn/APP/ /data/svn.`date +%F:%T`.bak –clean-logs

如果传递–clean-logs选项,svnadmin会执行热拷贝操作,然后删除不用的Berkeley DB日志文件。
你可以在任何时候运行这个命令得到一个版本库的安全拷贝,不管其它进程是否使用这个版本库。
2. 还原

svnadmin hotcopy /home/svn.`date +%F:%T`.bak  /home/svn.`date +%F:%T`.bak

时间: 2024-08-07 08:38:45

Linux中SVN的备份与恢复的相关文章

Linux中SVN定时备份总结

Linux中SVNserver定时备份总结: 本片文章主要是结合前面关于<Linux搭建SVNserver总结>,来说明怎样在Linux下定时备份SVNserver,防止个别情况导致数据丢失的严重后果. 那么实现的流程大致为:我们须要新建一个备份sh脚本,然后使用contab定时运行前面的脚本.以及模拟验证下是否成功,所以还是比較简单的. PS: 至于contab的具体介绍会在兴许总结中列出.在此仅仅需按此操作就可以. <Linux搭建SVNserver总结>地址: http://

Linux中SVN服务器安装与使用以及windows客户端的使用(CentOS-6.5)

1 SVN简介 svn是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS.CVS,它采用了分支管理系统,它的设计目标就是取代CVS.互联网上很多版本控制服务已从CVS转移到Subversion. svn服务器有2种运行方式:独立服务器和借助apache运行.两种方式各有利弊,用户可以自行选择. svn存储版本数据也有2种方式:BDB(一种事务安全型表类型)和FSFS(一种不需要数据库的存储系统).因为BDB方式在服务器中断时,有可能锁住数据,所以还是FSFS方式更安全一点

Linux中svn的使用

1. 安装Linux 执行如下命令,中间会出现一次提示,选y即可 yum install subversion 2. 创建资源库位置 svnadmin create /usr/java/testJenk 3. 配置资源库 进入conf文件夹进行配置 authz #权限配置文件 passwd #用户名密码文件 svnserve.conf #资源库配置文件 3.1 vim svnserve.conf 需要把下面的几个命令打开,直接去掉前面的#号和空格就好了 # anon-access = read

Linux 中 SVN 重启关闭

a.启动SVN  svnserve -d -r /A/B/svn/ 其中 -d 表示守护进程, -r 表示在后台执行 /A/B/svn/ 为svn的安装目录 b.关闭SVN 这里采取linux杀死进程的方式处理的 ps -ef|grep svnserve root 4967 1 0 Aug23 ? 00:00:00 svnserve -d -r repository/ 这里 kill -9 4967杀死进程, 此4967为进程号

linux中svn 的有关操作,简单易懂

svn up 更新数据   每次使用svn前一定要svn up ,否则有可能会覆盖其他人的文件 svn st 查看文件状态   ? 代表新增加的文件,但不在svn版本控制内   需要用svn add  path 来添加文件到svn 上,添加完成后,文件状态会变为A ? 不在版本控制范围 A  已添加到svn控制范围,等待提交 M  对svn上已有的文件进行过修改,等待提交 ! 已经在svn上面删除改文件,但是尚未提交 C 文件发生冲突,有冲突时,如果不是自己修改的文件,或者待提交的文件,一般选择

Linux中的svn客户端RabbitVCS-2

我们都知道,自从svn出道以来,很多人都预言,cvs将会被其取代.就如同他们预言maven要取代ant一样.可见,svn的流行.在Windows中,最常用到的开源免费的svn客户端就是TortoiseSVN(也就是我们看到的小乌龟).在Windows中,TortoiseSVN搭配VisualSvn Server(免费的svn server管理工具),可以让开发人员非常容易的对项目进行版本库的构建. 在Linux中,我们最常用到的svn客户端可能会是eSvn.它同样开源,免费.但是它的使用习惯跟W

linux下SVN忽略文件/文件夹的方法

linux下SVN忽略文件/文件夹的方法 假设想忽略文件temp 1. cd到temp所在的目录下: 2. svn propedit svn:ignore . 注意:请别漏掉最后的点(.表示当前目录),如果报错请看下面 3. 打开的文件就是忽略列表文件了(默认是空的),每一行是一项,在该文件中输入temp,保存退出 4. svn st查看状态,temp的?状态已经消除了 如果在svn propedit svn:ignore .时报错:svn: None of the environment va

Linux搭建SVN 服务器

Linux搭建SVN 服务器 1          安装SVN 2          使用客户端连接 2.1       使用windows的客户端 2.2       使用Linux下的命令行 3          FAQ 3.1       命令行方式连接,提示svn: No repository found in 'svn://192.168.11.229/project'错误? 3.2       执行命令# svn co svn://192.168.11.229/project时提示“

Linux中find常见用法示例

·find   path   -option   [   -print ]   [ -exec   -ok   command ]   {} \; find命令的参数: pathname: find命令所查找的目录路径.例如用.来表示当前目录,用/来表示系统根目录.-print: find命令将匹配的文件输出到标准输出.-exec: find命令对匹配的文件执行该参数所给出的shell命令.相应命令的形式为'command' { } \;,注意{ }和\:之间的空格.-ok: 和-exec的作用