bash - 询问 MongoDB 是否是 bash 脚本中的 Master

标签 bash mongodb ubuntu

我的 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/

相关文章:

javascript - Angular 资源查询和 MongoDB 查询运算符出现问题

ios - 检查用户类中是否已创建值 Parse Server Swift

node.js - MongoDB Node 驱动程序更新许多按 ID 过滤

JAVA_HOME 环境变量未设置 Validator.nu HTML 解析器

docker - Kubernetes 设置 Flannel Pod 网络

linux - 如何在 Bash 脚本中逐行读取文件?

Bash 条件奇怪行为

c - 如何从头文件和源文件创建 C 库(适用于 Ubuntu)?

php - Cron 不执行 shell 脚本..但从命令行工作

Linux Bash 如何使用 for 循环获取输出并将其放回脚本中