我想使用oplog从单个数据库创建增量备份策略
由于mongodump的--oplog选项创建了完整版的转储,我想知道是否有任何方法:
因为mongodump的--oplog版本创建了完整版本的转储
实际上,mongodump --oplog创建一个仅包含操作持续时间操作的部分转储oplogmongodump.此选项的目的是捕获数据库的有效时间点状态,否则在mongodump过程期间的写入操作可能会影响备份的输出.
使用"x"秒前的oplog选项从单个数据库进行转储?
使用"x"秒前的oplog选项从单个集合中进行转储?
您不能使用oplog从X秒前转储数据库或集合快照:
为了在恢复过程中有效地应用oplog,oplog必须具有与上次完整备份相同的条目.
您无法有效地转储其子集,oplog因为没有索引(并且oplog是一个不支持添加索引的特殊用途上限集合).
使用oplog的备份策略是:
您可以使用oplog执行时间点还原,但由于必须备份完整的oplog,因此它作为增量备份策略不是很有效.
如果要逐步备份单个集合,则可以使用mongodump"最后更新的字段"(或仅用于插入的集合,"已创建"的时间戳)来执行此操作.
实现副本集的快速时间点备份的更常见方法是使用文件系统快照.根据您的底层存储层,通常可以快速完成文件系统快照,并在连续快照之间高效存储更改.快照是本地的,因此您仍需要考虑如何将备份导出到异地,作为整体策略的一部分.
mongodump备份当您使用mongodump备份时,您还应该意识到这一点:
local数据库除外,其中包括oplog),但仅导出索引的定义.mongodump备份将占用最小的空间(因为你没有预分配的存储或索引),但也将不得不恢复(因为时间最长mongorestore必须重建所有的数据文件和索引).相关问题:
| 归档时间: |
|
| 查看次数: |
1850 次 |
| 最近记录: |