svn备份、还原、迁移一条龙方案
备份篇
前言
此处要备份的库名以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天后确认没有影响后删除

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
国家网络安全产业园区(通州园)开园仪式成功举行
11月3日上午,由北京市经济和信息化局、通州区人民政府共同主办的国家网络安全产业园区(通州园)开园仪式成功举行。通州园的正式开园,是贯彻工业和信息化部与北京市人民政府《关于建设国家网络安全产业园区战略合作协议》,落实《国家网络安全产业园区发展规划》重点任务,推动国家网络安全产业园区海淀园、通州园、经开区信创园三园协同布局发展的又一重要举措。 北京市委常委、副市长殷勇,工业和信息化部网络安全管理局局长赵志国,通州区委副书记刘东伟出席活动并致辞,北京市经济和信息化局党组书记、局长杨秀玲主持活动。北京市政府副秘书长张劲松,北京市通信管理局党组书记、局长林乐虎,北京市通州区委常委、区政府常务副区长阳波,副区长苏国斌,北京市发改委、财政局、科委等市区相关委办局领导,以及工信部直属高校西北工业大学,北京市属国企首钢集团、北汽集团,行业领军企业蚂蚁科技集团、重庆忽米网、杭州海康威视、北京作业帮等单位和企业负责人,新闻媒体等共计150人出席开园仪式。 殷勇副市长在致辞中指出,北京作为国家网络安全产业园区的承载地,深入贯彻习近平总书记重要指示和十九届五中全会精神,充分发挥科技创新中心活力和数字经济先发优...
- 下一篇
如何看待蚂蚁集团高层被约谈导致暂缓上市?
今天,中国人民银行、中国银保监会、中国证监会、国家外汇管理局对蚂蚁集团实际控制人马云、董事长井贤栋、总裁胡晓明进行了监管约谈。 最近蚂蚁上市的造富神话各种刷屏,今天马云等蚂蚁集团高层突然被约谈,这里面释放了什么样的信号呢? (中了蚂蚁的朋友,你们慌不慌?[狗头])
相关文章
文章评论
共有0条评论来说两句吧...