(暂定) SVN分库转移平台使用的技术要点

http://spiritfrog.iteye.com/blog/448578

http://blog.sina.com.cn/s/blog_5eb1a2670100l24i.html

主要参考渣浪博客的文档,不过那个svn仓库重组新结构,反应测试几次才了解.

如果正好您也在切割SVN库,最好看新浪文档,那里很详细,此处主要是我们实际

生产切割报告.

SVN备份策略

SVN库已经切换过来,可是一直没有进行数据备份,真的很佩服自己,不怕死.

SVN备份三种方式

svnadmin dump

svnadmin hotcopy

SVN数据备份方式选择

svn备份不宜采用普通的文件复制备份方式,因为程序运行会导致数据读取不一致的

情况,与MYSQL类似吧。根据资料显示,大师使用rsync命令来进行增量和全量备份时,

结果在后期的复查过程中,发现备份的数据不可用,因此最好使用SVN自带的备份工具。

svnadmin hotcopy

相当于物理意义上复制出一份数据,可是很消耗磁盘资源,而且没有试过如何实现跨机

远程备份。

svnadmin dump/svnadmin load

官方推荐使用备份方式,灵活且支持全量和增量备份,支持版本恢复机制.

如果数据量过多,版本历史数目庞大,会导致备份数据占用过多空间.不过在之前项目

应用使用有过实际生产经验,因此会使用此种方式.

SVN全库备份

svnadmin dump /data/web/svndata/code > svnadmin_code_alldata

命令 dump关键字 SVN源库路径  导出数据

svnadmin create /mnt/newdir

命令 create创建新搬迁目录

svnadmin load /mnt/newdir < svnadmin_code_alldata

命令 load导入数据 目的目录 导入数据

SVN增量备份和还原

svnlook youngest /data/web/svndata/code 当前SVN版本库最新版本

svnadmin dump /data/web/svndata/code -r NO. > svnadmin_code_alldata.NO.

只备份对应版本的SVN数据,丢失重要的历史数据

svnadmin dump /data/web/svndata/code -r 1:100 > svnadmin_code_alldata.1to100

svnadmin dump /data/web/svndata/code -r 101:200 --incremental > svnadmin_code_alldata.101to200

数据还原

svnadmin create /mnt/newdir

svnadmin load /mnt/newdir < svnadmin_code_alldata.1to100

svnadmin load /mnt/newdir < svnadmin_code_alldata.101to200

假如将父级SVN库数据抽取data目录的数据,生成新的data仓库.

排除其它不相关空版本,并重新排列.此图列出没有处理前的情况.

svndumpfilter include data 从父库挑选出关于data内容

svndumpfilter exclude data other 将data other内容排除外,再创建新库

--drop-empty-revs 选出关于data目录生成的新库,剔除与data库不相关的版本数据

--renumber-revs 生成新库重新生成版本号

以下为实际生产环境使用语句

svndumpfilter include data < backupzz.alldata > backupzz.data.version.alldata --drop-empty-revs --renumber-revs

SVN顶级库目录去除操作,将data目录移到最顶级

之前data在父级位于/data目录,现在需要将数据移置/路径下

这些路径处理必须正确,否则在导入回来时会报错退出.

DATA库父目录处理,直接对dump出文件进行内容修改操作,将下面新建目录删除,

即让新库位于根目录下

Node-path: data

Node-action: add

Node-kind: dir

Prop-content-length: 10

Content-length: 10

PROPS-END

另外顶层目录也有些目录没有生成,也需要添加上面的一些设置

另外还要将以下内容进行替换,反正做数据也挺麻烦的

%s#Node-copyfrom-path: data/#Node-copyfrom-path: #

%s#Node-path: data/#Node-path: #

其它剩余的那个追加执行%s#Node-path: data/#Node-path: # 即可

时间: 2024-11-05 21:55:18

(暂定) SVN分库转移平台使用的技术要点的相关文章

转:鏖战双十一-阿里直播平台面临的技术挑战(webSocket, 敏感词过滤等很不错)

转自:http://www.infoq.com/cn/articles/alibaba-broadcast-platform-technology-challenges 鏖战双十一-阿里直播平台面临的技术挑战 作者 陈康贤 发布于 2016年1月28日 | 2 讨论 分享到:微博微信FacebookTwitter有道云笔记邮件分享 稍后阅读 我的阅读清单 前言:一直以来双十一都是以交易为重心,今年当然也是如此,但是这并不妨碍万能的淘宝将双十一打造的让用户更欢乐.体验更丰富.玩法更多样.内容更有趣

网易大数据平台的Spark技术实践

网易大数据平台的Spark技术实践 作者 王健宗 网易的实时计算需求 对于大多数的大数据而言,实时性是其所应具备的重要属性,信息的到达和获取应满足实时性的要求,而信息的价值需在其到达那刻展现才能利益最大化,例如电商网站,网站推荐系统期望能实时根据顾客的点击行为分析其购买意愿,做到精准营销. 实时计算指针对只读(Read Only)数据进行即时数据的获取和计算,也可以成为在线计算,在线计算的实时级别分为三类:Real-Time(msec/sec级).Near Real-Time(min/hours

痛客平台大数据技术助推贵阳“一企一策”

痛客平台大数据技术助推贵阳"一企一策" 当前中国,正在实施供给侧结构性改革,将经济增长动力点由消费者需求回归于企业方的供给.在这样的背景下,贵州省贵阳市正在实施"一企一策"工作.针对贵阳市的工业领域企业,开展相关企业的转型升级工作,落实国家供给侧结构性改革. "一企一策"工作旨在明确企业转型升级的重点方向,编制转型升级方案.而痛客平台致力于用众包方式解决各行业企业痛点,突破技术瓶颈.引领企业升级.在供给侧结构性改革的大背景下,痛客平台与"

直播平台运营的技术和实现原理

陌陌的财报.微吼直播的转型,不管怎么看都是直播再一次掀起热潮的信号,直播源码的需求更在这时达到了巅峰.但是,你知道直播平台运营的技术和实现原理吗? 下面就是重点内容了哦:一个朋友破解了AirPlay和Chromecast协议,然后开发了一套技 术能够截获和播放任何手机(iOS或是Android)屏幕上的任何内容.想到的第一个应用是做 一个 直播的直播服务 .RTMP(Real Time Message Protocol/实时信息传输协议)是应用层协议,靠底层传输层协 议(通常是TCP)来保证信息

ThinkSNS开源社交系统基础技术要点

ThinkSNS采PHP+MySQL技术平台,社交核心+多应用+多插件机制. 下面我们将为大家介绍开源社交系统ThinkSNS基础的技术要点: 开源社交系统ThinkSNS中,应用都有一个配置文件,目前应用目录是apps/<app name> 所以,配置文件就是:"apps/<app name>/manage.json",下面有演示代码:    我们可以看到这是比较新的应用配置,老的应用中只需要配置"resource"项即可,配置这项后,静态

android开发步步为营之24:milliondollars游戏技术要点代码生成控件和读取xml文件

Milliondollars智力问答游戏,主要的技术要点(一).读取题库数据xml文件(二).如何动态的生成题目和选项.这里做个总结,供以后参考. (一).读取题库数据xml文件 将assets/topics.xml文件读取 topics.xml格式: <?xml version="1.0" encoding="UTF-8"?> <book> <question topic="<全唐诗>是哪个时期的人编辑的?&qu

HTML5技术要点

HTML5技术要点 1.HTML5视频 <!DOCTYPE HTML> <html> <body> <video src="/i/movie.ogg" width="320" height="240" controls="controls"> Your browser does not support the video tag. </video> </body

C/S通信模型和相关技术要点

几乎所有的项目中,都会涉及到客户端和服务端.而客户端与服务器之间的通信又是一个很常见但又有需要问题的技术问题. 首先,连接方式有长连接和短连接.先看看概念. 长连接短连接只是一个概念性的问题,只要知道其概念,不是一个特殊的东西: 长连接:系统通讯连接建立后就一直保持. 短连接:只有系统需要相互发消息连接才建立(客户端发起),请求消息得到响应后连接关闭: 通讯实体间使用长连接,一般还需要定义心跳消息,定期发送来检测系统间链路是否异常,每隔一定时间发送一次心跳,如果一定次数没有收到心跳消息,这认为此

Unity3d集成移动MM SDK 2.2的技术要点(坑爹的MM SDK)

原地址:http://dong2008hong.blog.163.com/blog/static/4696882720140423517951/ U3D集成移动MM的SDK绝对是以坑爹为主的东西. 浪费大量时间去弄这玩意.真不知道设计MM SDK的人咋想的,你们应该去参考下移动百宝箱的SDK设计方式,简单易用不坑爹,1小时内绝对能搞定. 因为移动MM支付的SDK只提供android版本的,要自己写过一个android项目再打包重新生成一个jar来供Unity3d引擎使用,这一部分我就不写了,网上