我们在开发服务器上设置了5节点复制。我们正在寻找一种方法,允许开发人员备份mongo数据库中的一部分数据,并将其恢复到本地开发环境。
我们已经查看了clonedb和mongodump utils,但两者都只允许备份/转储整个数据库。由于数据库可能的大小,我们需要一个允许我们限制备份或恢复数据的选项。
是否有任何知道实现此目的的工具或方法?
答案 0 :(得分:1)
我再次偶然发现了这个问题,并决定添加我们选择的备用策略说明:
我们的mongo db的当前备份策略此服务器包含2个设置;通过延迟被动二级节点进行备份,使用mongodump进行每日备份(将日志和oplog用于播放)。
除了正常的生产节点之外,我们还设置了另一个优先级为0的辅助节点(可以在自己的服务器上,也可以在另一个mongo服务器上备用,但是使用一个单独的端口),隐藏为真,延迟时间为7200秒(2小时)。这个奴隶用于“黄油手指”,当有人意外丢弃数据库或清除一个集合时,我们有2个小时才能将这些更改复制到这个被动二级。被动次要不能用于读取或写入。它的作用只是一个备份节点。我们还使用此节点进行夜间备份,以防止在任何其他节点上产生不必要的开销。
夜间备份设置为每晚23:00通过cron选项卡运行。该命令只是在/opt/auto-mongo-backup
中执行脚本设置。可以在https://github.com/jaconel/automongobackup找到此脚本(最初位于https://github.com/micahwedemeyer/automongobackup)。此脚本允许单个夜间cron涵盖每周备份和每月备份。备份保存在/var/backups/mongodb
。
希望这有助于一些人。