前言
mongodb的副本集架构,主库和从库的数据相同步,如果主库的机器坏掉,没什么关系,从库上还有相同的副本数据。但如果某人恶意操作或误操作,一下子批量删除或drop整个库,这样主库和从库的数据都会没有,造成巨大损失。因此,对mongodb数据库定期备份是非常重要的。备份如果每次都全量备份,会消耗大量时间,并且对 mongodb性能也有影响,从而需要能增量备份。mongodb的增量备份网上没有现成的工具,故仔细研究了下写了个脚本。
mongodb集群架构时,从库是通过异步复制主库的Oplog文件,从而达到与主库的同步。
Oplog 记录了MongoDB数据库的更改操作信息,其保存在local库的oplog.rs表,在集群架构才存在,单机不会有,故增量备份不能在单机下使用。 oplog有大小限制,超过指定大小,新的记录会覆盖旧的操作记录。
mongodb增量备份原理
如何将某段时间的oplog下载下来,我拼接好的例子:
mongodump -h 127.0.0.1 --port 27117 -d local -c oplog.rs -u admin -p xxx --authenticationDatabase admin -q '{ts:{$gt:{$timestamp:{t:1451355000,i:1}},$lt:{$timestamp:{t:1451357430,i:1}}},ns:/^test_db\\./}' -o oplog_backup
上述是导出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文件进行导入
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对的支持。
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新动态
- 凤飞飞《我们的主题曲》飞跃制作[正版原抓WAV+CUE]
- 刘嘉亮《亮情歌2》[WAV+CUE][1G]
- 红馆40·谭咏麟《歌者恋歌浓情30年演唱会》3CD[低速原抓WAV+CUE][1.8G]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[320K/MP3][193.25MB]
- 【轻音乐】曼托凡尼乐团《精选辑》2CD.1998[FLAC+CUE整轨]
- 邝美云《心中有爱》1989年香港DMIJP版1MTO东芝首版[WAV+CUE]
- 群星《情叹-发烧女声DSD》天籁女声发烧碟[WAV+CUE]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[FLAC/分轨][748.03MB]
- 理想混蛋《Origin Sessions》[320K/MP3][37.47MB]
- 公馆青少年《我其实一点都不酷》[320K/MP3][78.78MB]
- 群星《情叹-发烧男声DSD》最值得珍藏的完美男声[WAV+CUE]
- 群星《国韵飘香·贵妃醉酒HQCD黑胶王》2CD[WAV]
- 卫兰《DAUGHTER》【低速原抓WAV+CUE】
- 公馆青少年《我其实一点都不酷》[FLAC/分轨][398.22MB]
- ZWEI《迟暮的花 (Explicit)》[320K/MP3][57.16MB]