上述是导出1451355000-1451357430时间之间的oplog,导出oplog需要切换到admin权限账户。
原理很简单,但具体实现还是需要很多考虑,具体看代码。脚本在一个周期内(如一星期)先备份一次全量数据库,后面每次进行增量备份。脚本地址:http://git.oschina.net/passer/mongodb_backup_script
增量脚本执行时的流程
读取上一个周期执行信息判断是否需要创建新的周期 获得mongodb上oplog最近记录的时间点current timestamp position 从本地读取上一次执行时mongodb的oplog时间点 dump导出全量数据或增量oplog文件到本地,增量oplog文件的导出范围是 上次oplog记录点到最新时间内的oplog文件 保存步骤2获取的current timestamp position到本地,作为下一次执行步骤3中的时间点 进行压缩 上传到oss 删除本地备份文件全量脚本执行时的流程
备份mongodb数据库到本地 进行压缩 上传到oss 检验oss与本地文件的大小是否相同 删除本地备份文件恢复时脚本执行的流程
从oss上下载指定周期的备份文件到本地 对全量文件和增量oplog的zip文件进行解压 用 mongorestore对全量文件进行导入 用 mongorestore --oplogReplay 分别对各时间段的oplog文件进行导入总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对七叶笔记的支持。