背景:
最近存放项目的服务器要换,所以要对SVN项目进行备份,有几个项目的版本比较多,因此备份起来用的时间就比较长,还原的时间更长,如果还原的过程中遇到些什么问题还得重新来一遍,超级耗费时间,于是在想有没有什么好的解决方案。
备份策略:
上网查阅资料时,看到了这样的备份策略,觉得比较可行,可以进行参考。如下:
备份频度:每周六进行一次全量备份,每周日到周五进行增量备份
备份地点:备份存储路径到/home/backup/svn/
备份命名:全量备份文件名为:weekly_fully_backup_yymmdd
增量备份文件命名为:daily-incremental-backup_yymmdd
备份时间:每晚21点开始
备份检查:每月末进行svnadmin load恢复试验。
备份的频度、地点和时间都可以根据自己公司的要求进行设置。文件的命名在这里做得很规范。
全量备份:
是指把项目的所有的版本进行备份。
命令: 备份demo版本库,备份到svn路径下,生成dump文件
svnadmin dump /var/svn/demo >/var/svn/demo.dump
增量备份:
把最近更新的版本进行备份。
命令:svnadmin dump 版本库路径及名称 –revision 上次导出的版本号:到本次要导出到的版本号 –incremental > 导出的命名
Svnadmin dump /var/svn/itoo_java --revision 27777:27864 --incremental > /var/tmp/itoo_java.dump
比较完美的备份方式就是全量和增量同时采用,之前一直用全量,每次都是从头开始备份,太耗时而且也占用资源,现在在之前全量备份的基础上进行增量备份就可以。
还原:
1、新建一个版本库,用来存放要还原的内容:
svnadmin create /var/svn/demo
2、进行还原
svnadmin load /var/svn/demo < demo.dump
总结:
最近还想要实现自动备份,让服务器定时进行,我们的提箱不如电脑记得清,正在做一些测试,博客后续更新。