「干货」svn服务器备份、还原、迁移一条龙教程
发布时间:2022-10-26 12:35:31 所属栏目:系统 来源:
导读: 备份篇
前言
此处要备份的库名以test为例
目的
当svn服务器发生灾难级故障时,我们可以利用备份文件对公司资产:svn代码进行恢复
面临的现状
整个svn备份文件非
前言
此处要备份的库名以test为例
目的
当svn服务器发生灾难级故障时,我们可以利用备份文件对公司资产:svn代码进行恢复
面临的现状
整个svn备份文件非
|
备份篇 前言 此处要备份的库名以test为例 目的 当svn服务器发生灾难级故障时,我们可以利用备份文件对公司资产:svn代码进行恢复 面临的现状 整个svn备份文件非常大,如果每次进行都全量备份;将消耗非常多的硬盘资源。 解决方案 使用全量备份+增量备份的方案;对svn代码进行异地备份 每个月1号进行一个完整备份,其他时候进行差异备份 一:全量备份步骤二:增量备份步骤 备份策略总结 凌晨1点开始备份,先使用svnlook youngest获取版本数量,然后再全量的压缩备份。将全量备份的版本号记录好,下次增量备份的时候,可以用该版本号+1进行差异备份 还原数据篇 背景 上面我们通过svn的官方备份工具svnadmin dump,对svn仓库已经进行了备份;现在我们对数据进行还原 操作环境全量还原步骤增量还原步骤 svnadmin load /data/svn/test/ < /data/backup/svn/test_dumpfile_73881-73988 [root@localhost svn]# svnlook youngest /data/svn/test/73988 迁移方案总结: 先利用全量备份,再利用增量备份进行还原服务器系统备份,最后和客户端开发同学协助确认下:还原的svn数据是否可以被正常使用。 迁移篇 前言 svn://192.168.1.1/test中包含了公司所有的项目A、项目B、项目C(除客户端代码外);不便于直接使用 方法: 为了更好的区别项目,将不同的项目使用不同的版本库;从test中独立出来的子文件夹有: 迁移原则: 尽可能对项目开发的影响较小; 迁移目的机器 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天后确认没有影响后删除 备份篇 前言 此处要备份的库名以test为例 目的 当svn服务器发生灾难级故障时,我们可以利用备份文件对公司资产:svn代码进行恢复 面临的现状 整个svn备份文件非常大,如果每次进行都全量备份;将消耗非常多的硬盘资源。 解决方案 使用全量备份+增量备份的方案;对svn代码进行异地备份 每个月1号进行一个完整备份,其他时候进行差异备份 一:全量备份步骤二:增量备份步骤 备份策略总结 凌晨1点开始备份,先使用svnlook youngest获取版本数量,然后再全量的压缩备份。将全量备份的版本号记录好,下次增量备份的时候,可以用该版本号+1进行差异备份 还原数据篇 背景 上面我们通过svn的官方备份工具svnadmin dump,对svn仓库已经进行了备份;现在我们对数据进行还原 操作环境全量还原步骤增量还原步骤 svnadmin load /data/svn/test/ < /data/backup/svn/test_dumpfile_73881-73988 [root@localhost svn]# svnlook youngest /data/svn/test/73988 迁移方案总结: 先利用全量备份,再利用增量备份进行还原服务器系统备份,最后和客户端开发同学协助确认下:还原的svn数据是否可以被正常使用。 迁移篇 前言 svn://192.168.1.1/test中包含了公司所有的项目A、项目B、项目C(除客户端代码外);不便于直接使用 方法: 为了更好的区别项目,将不同的项目使用不同的版本库;从test中独立出来的子文件夹有: 迁移原则: 尽可能对项目开发的影响较小; 迁移目的机器 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天后确认没有影响后删除 (编辑:百科站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐

