我的 mongodb 应该每天运行一次备份。它由一个主设备和两个从设备运行。
我需要备份其中一个(因为它们只是副本)
最简单的方法是仅在一个实例上运行备份脚本。但是如果这个实例关闭了怎么办?所以我认为在主服务器上运行备份脚本会很好,因为总是有一个主服务器,即使另一个主服务器出现故障。
所以我需要在 cron.daily 中调整我的备份脚本,以询问 mongodb 是否是当前的 master。
我该怎么做?
最佳答案
您可以使用 --eval
选项到 mongo
来执行此操作:
MASTER=`mongo --quiet --eval "db.isMaster().ismaster"`
然后测试你的shell脚本中是否有MASTER == "true"
。
关于bash - 询问 MongoDB 是否是 bash 脚本中的 Master,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17814031/