前言

此处要备份的库名以test为例

目的

当svn服务器发生灾难级故障时,我们可以利用备份文件对公司资产:svn代码进行恢复

面临的现状

整个svn备份文件非常大,如果每次进行都全量备份;将消耗非常多的硬盘资源。

解决方案

使用全量备份+增量备份的方案;对svn代码进行异地备份 每个月1号进行一个完整备份,其他时候进行差异备份

一:全量备份步骤

  • 1.使用svnadmin dump 仓库路径 > dumpfile svnadmin dump /data/svn/test > /data/backup/svn/test_dumpfile

  • 2.使用命令获取仓库的提交版本数,为后面的增量做好准备 svnlook youngest 仓库路径;如 [root@localhost svn]# svnlook youngest /data/svn/test/73988 备注:73988是当前仓库的版本提交数量

二:增量备份步骤

  • 1.备份差异的svn版本数 上1次全量备份的svn版本数有:73881;现在总有73988个版本数量,中间的差异为:73882-73988(在全量备份的基础上+1) svnadmin dump /data/svn/test -r 73882:73988 --incremental > /data/backup/svn/test_dumpfile_73882-73988

备份策略总结

凌晨1点开始备份,先使用svnlook youngest获取版本数量,然后再全量的压缩备份。将全量备份的版本号记录好,下次增量备份的时候,可以用该版本号+1进行差异备份

背景

上面我们通过svn的官方备份工具svnadmin dump,对svn仓库已经进行了备份;现在我们对数据进行还原

操作环境

  • 1.准备好svn备份数据:一般含有全量文件和增量备份文件

  • 2.准备好一台机器,上面搭建好svn即可

全量还原步骤

  • 1.执行导入命令 将全量备份的数据,导入到新机器搭建好的svn上 svnadmin load /data/svn/test/ < /data/backup/svn/test_dumpfile

  • 2.检查svn版本数;看到已经是还原成功了 [root@localhost svn]# svnlook youngest /data/svn/test/73881

  • 3.确认svn的提交日志内容,是否有问题

  • 4.和svn的使用同学,确认有无问题

增量还原步骤

  • 1.增量备份文件为:/data/backup/svn/test_dumpfile_73881-73988



svnadmin load /data/svn/test/ < /data/backup/svn/test_dumpfile_73881-73988

  • 2.当我们看到Committed new rev 73989 (loaded from original rev 73988),表示还原成功

  • 3.再次使用svnlook查看提交的版本数



[root@localhost svn]# svnlook youngest /data/svn/test/73988

迁移方案总结:

先利用全量备份,再利用增量备份进行还原,最后和客户端开发同学协助确认下:还原的svn数据是否可以被正常使用。

前言

svn://192.168.1.1/test中包含了公司所有的项目A、项目B、项目C(除客户端代码外);不便于直接使用

方法:

为了更好的区别项目,将不同的项目使用不同的版本库;从test中独立出来的子文件夹有:

  • 项目A

  • 项目B

  • 项目C

迁移原则:

尽可能对项目开发的影响较小;

迁移目的机器

192.168.1.2;这台机器作为svn还原使用

迁移步骤:

1.先利用全量还原好数据 2.使用增量备份文件,对差异部分进行还原即可(一般是1天的数据)

先做好全量的还原

1.在项目二大群中发一个通知:svn版本库周末进行维护,周末暂停使用

2.使用完整备份的文件,过滤出需要的文件夹



svndumpfilter include 项目A < test_bak_0-90769 > 项目A_dumpfile svndumpfilter include 项目B < test_bak_0-90769 > 项目B_dumpfile# 如果包含了多个文件夹,可以用空格+文件夹名,代表多个目录svndumpfilter include 项目C 17_项目C < test_bak_0-90769 > 项目C_dumpfile

3.在192.168.1.2新建好版本库



svnadmin create /data/svn/项目A svnadmin create /data/svn/项目B svnadmin create /data/svn/项目C

4.做好授权 准备好在用的人员信息,写到新版本库的授权文件中 5.使用步骤1的文件进行数据恢复



svnadmin load /data/svn/项目A < 项目A_dumpfile svnadmin load /data/svn/项目B < 项目B_dumpfile svnadmin load /data/svn/项目C < 项目C_dumpfile

通过增量备份,进行差异还原



1.准备差异文件 2.将差异部分进行还原 3.验证差异部分

6.验证没有问题之后。将旧机器上面的文件隐藏 移动到一个不再使用的文件夹中;7/14天后确认没有影响后删除

END

11月8日 免费直播课

微思金牌讲师

课程亮点

适合人群

讲什么内容?

上课时间:11月8日 星期一 19:30

赠送配套技术文档

赠送配套视频教程

学习资料领取,备注:纠删码

svn服务器备份、还原、迁移一条龙教程相关推荐

  1. ubuntu系统备份还原(迁移)到另外一台电脑上

    ubuntu系统备份还原(迁移)到另外一台电脑上 主要参考如下博客: https://blog.csdn.net/zeg635702733/article/details/53992224 https ...

  2. win7备份工具_Win7/10系统如何一键还原系统?一键备份还原系统方法图文教程

    Windows是全球目前使用最广泛的操作系统之一,大家在使用Windows系统的过程中,难免会出现各种系统故障或者中病毒的情况,甚至系统奔溃导致无法开机进入桌面的情况,遇到这些问题,我们只有重新安装系 ...

  3. 使用服务器备份还原Linux系统

    目录 前言: 一.再生龙启动盘制作 二.服务器制作 三.服务器备份系统 四.服务器还原系统 前言: 当我们需要给其他电脑装Linux系统时,安装依赖是一件非常麻烦的事,甚至会把系统搞崩,我们通过服务器 ...

  4. ghost网络克隆功能实现【批量】计算机操作【系统的安装】,Ghost怎么网络克隆备份还原系统GhostCast教程...

    Ghost很多人知道可以用来一键还原系统,但可能你不知道它还有服务器端软件GhostCast能实现网络克隆,可以用在网吧,学校等统一的电脑上装机和备份还原系统使用,Ghost的网络备份和克隆功能也是非 ...

  5. gitlab-ce 备份还原 迁移新系统

    https://blog.csdn.net/foupwang/article/details/94362292 迁移前首先要保证新旧服务器上的GitLab版本号一致. 查看当前GitLab版本 cat ...

  6. SVN服务器从Windows迁移到Linux

    一.备份VisualSVN项目 现在要使用Linux作为svn服务器,之前是在windows Server 2008上的,用的是VisualSVN, 如下图所示. 现在svn中有一个项目fpp,需要将 ...

  7. 免费svn服务器,百度云开发者教程

    来自 http://jingyan.baidu.com/article/7c6fb4287b4e3180642c90d0.html 开篇先给大家讲个我自己的故事,几个月前在网上接了个小软件开发的私活, ...

  8. 服务器备份文件格式,证书服务器,备份,还原

    CA备份 即使你不打算对CA做迁移,你也应该对CA做一个备份,CA的备份与我们通常所进行的备份时不同的,CA的备份需要通过以下的步骤实现: 如果你正准备备份一个企业CA,在CA控制台中点击证书模板,然 ...

  9. 证书服务器,备份,还原

    CA备份 即使你不打算对CA做迁移,你也应该对CA做一个备份,CA的备份与我们通常所进行的备份时不同的,CA的备份需要通过以下的步骤实现: 如果你正准备备份一个企业CA,在CA控制台中点击证书模板,然 ...

最新文章

  1. Java基础:Java异常处理
  2. java面试题大合集(开发者必看一)
  3. mybatis foreach 错误_MyBatis高级结果映射之一对一映射
  4. vue依赖缓存_Vue SSR服务端渲染之数据缓存
  5. Visual Studio 远程调试正在运行的进程
  6. shishuo-CMS-master
  7. 关于GTID模式下备份时 --set-gtid-purged=OFF 参数的实验【转】
  8. windows安装TortoiseGit
  9. Python针对Excel数据的处理(部分)
  10. 如何给Mac电脑的磁盘进行分区?
  11. DNA 8. 癌症的突变异质性及寻找新的癌症驱动基因(MutSigCV)
  12. archlinux 安装chrome浏览器
  13. 视频学习前端的经验之谈
  14. HtmlHelp调用chm帮助文档使用
  15. 软电话HTML界面,软电话条(webRTC)对接
  16. c++ LintCode刷题记录之52. 下一个排列
  17. 宝贝与iPad-新生代的玩具
  18. 计算机音乐念诗之王,念诗之王(电音版)
  19. 麦肯锡 7S 诊断模型
  20. 用c++模拟ATM机

热门文章

  1. 关于java中读取jar包中的文件
  2. SGU - 106 The equation(扩欧+细节处理)
  3. 成本函数(Cost Function)
  4. vue+elementui学生宿舍管理系统(报修,来访登记,水电费)java ssm项目介绍
  5. Qt 静态库和动态库
  6. uni-app常见问题
  7. 京东618叠蛋糕,2020年京东叠蛋糕玩法攻略
  8. TCP协议三次握手过程
  9. seata 分布式解决方案:
  10. 手机号码(验证,所在地查询)