通过 bash 脚本询问 MongoDB 是否是 Master

2024-01-16

我的 mongodb 应该每天运行一次备份。它由一个主设备和两个从设备运行。

我需要备份其中一个(因为它们只是副本)

最简单的方法是仅在一个实例上运行备份脚本。但如果这个实例宕机了怎么办?因此,我认为在主服务器上运行备份脚本会很好,因为即使其他主服务器之一已关闭,也总是有一个主服务器。

所以我需要调整 cron.daily 中的备份脚本来询问 mongodb 是否是当前的主数据库。

我怎么做?


您可以使用--eval选项mongo去做这个:

MASTER=`mongo --quiet --eval "db.isMaster().ismaster"`

然后测试是否MASTER == "true"在你的 shell 脚本中。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

通过 bash 脚本询问 MongoDB 是否是 Master 的相关文章

随机推荐

  • 如何在jvm上运行scala字节码?

    如何在 jvm 上运行编译后的 scala 代码 当我尝试以下命令时 java cp scala library jar cp bin com mcmc5 Main 我收到以下错误 Exception in thread main java
  • 将多个正则表达式连接成一个正则表达式

    对于文本文件 我想匹配以 BEAM 和 FILE PATH 开头的字符串 我会用 BEAM FILE PATH 如果我要单独匹配它们 但现在我必须将这两个匹配模式连接成一个模式 关于如何做到这一点有什么想法吗 竖线 竖线字符通常用正则表达式
  • MSTest 似乎毫无原因地挂起

    从命令行运行 MSTest 测试在 等待运行 代理 时挂起 没有任何错误或超时 原因可能是 队列中没有运行 但为什么会这样我不知道 因为exact同样的测试在另一台机器上运行得很好 我们最近从在测试机器上评估 TeamCity 转向将其安装
  • 如何处理 Perl 正则表达式中的特殊字符?

    我正在使用 Perl 程序从文件中提取文本 我有一个字符串数组 用作文本的分隔符 例如 pat arr 1 arr 2 if src pat print 1 但是 数组中的两个字符串是 450 and Buy now 这些的问题在于字符串中
  • Android:应用内购买查询不返回任何产品(skuDetails)

    我正在开发我的第一个 Android 应用程序 我确实在堆栈溢出方面学到了很多东西 但我目前的问题还没有找到解决方案 我尝试实现 应用内购买 我做了以下事情 1 在开发者控制台中 我上传了经过 alpha 和 beta 测试的已签名 apk
  • django.db.utils.IntegrityError:唯一约束失败:rango_category__new.slug

    我正在使用 Django 从 Tango 学习 Django 但是当我输入以下内容时 我不断收到此错误 python manage py makemigrations rango python manage py migrate 这是输出
  • 如何在C++中使用OpenCV检测多个物体?

    我从这个答案中得到了启发here https stackoverflow com a 43076532 385127 这是一个Python实施 但我需要C 这个答案非常有效 我的想法是 detectAndCompute to get key
  • 在 Play 中定义全局变量的最佳方式! 2.0应用

    游戏中 2 0 一个就可以用Global据记录here http www playframework org documentation 2 0 ScalaGlobal Global需要位于默认 空 包中 我的应用程序中还需要全局变量 其中
  • 我想获取Java中的当前时间,但没有互联网,也没有系统时间

    我想获得准确的当前时间 我不想要系统时间 因为任何人都可以更改系统时间 并且我想在不访问互联网的情况下执行此操作 有什么办法吗 时间服务器 设置一个时间服务器 https en m wikipedia org wiki Time serve
  • ASP.NET Core 2.2 创建身份用户

    ASP Net Core 全新 必须使用 Identity 创建一个 asp net core 2 2 项目 并让用户播种 我找不到任何有关如何准确执行此操作的文档 我能够找到创建身份角色的代码 无论如何编译 还没有达到可以运行它的位置 p
  • 在控制台中移动光标和打印字符不适用于睡眠[重复]

    这个问题在这里已经有答案了 我想在同一个地方逐个打印一系列字符 我打印一个字母 然后睡眠等待 1 秒 使用控制台代码将光标向左移动一列 打印下一个字母 依此类推 问题是结果程序等待所有睡眠的总和 在我的示例中为 2 秒 然后仅打印最后一个字
  • Git 存储库未导出:致命:远程端意外挂起

    设置新的 git 安装 在一台 Windows 笔记本电脑上 我正在运行 在 cygwin 下 git daemon base path cygdrive c work proj 我的项目的根目录是 c work proj proj1 有一
  • 如何查找solr服务器是否正在运行

    我正在运行一个从 solr 服务器获取搜索结果的应用程序 但是当服务器未运行时 我没有收到服务器的响应 有什么方法可以发现我的服务器没有运行 以便我可以给出正确的错误消息 您可以定期 ping 您的服务器 例如http localhost
  • iOS9:崩溃报告中的重复行导致symbolicatecrash卡住

    This is 不是一个问题因为我已经找到了解决方法 我将其发布 以便其他人可以利用我在其上花费的时间 并使用我建议的解决方法 我收到了一些奇怪的崩溃报告 一行被重复了很多次 0x190e08000 0x190e49fff Notes ar
  • 三柱图

    某个过程的结果是从 A 到 C 通过 B 的路径列表 例如 which effect A1 A2 10 1 1 1 1 10 2 1 2 1 10 28 1 3 1 10 6 9 4 1 10 24 9 5 1 10 28 9 我想要的是一
  • 可捕获的致命错误:传递给 Illuminate\Routing\UrlGenerator::__construct() 的参数 2 必须是 Illuminate\Http\Request 的实例,给定 null

    当我尝试运行时出现此错误php artisan anything PHP Catchable fatal error Argument 2 passed to Illuminate Routing UrlGenerator construc
  • 苹果:联盟链接可以通过应用内购买赚钱吗?

    苹果最近 在过去一两个月内 对其联属计划进行了一系列更改 您能回答这个问题 联盟链接可以通过应用内购买赚钱吗 示例 联盟链接到一个免费应用程序 然后导致该应用程序中的应用程序内购买 是否会为链接所有者赚取佣金 先感谢您 简短的回答是 是 应
  • Android - 1 除以 2 = 0

    我一直在尝试使用我的新 IOIO for android 并且需要找到信号的频率 所以我将信号转换为二进制 然后用 1 除以 1 之间的时间 尽管当我这样做时 我发现我的输出为 0 然后我决定看看 1 2 给了我什么 令我惊讶的是它也给了
  • gluon Mobile LocalNotificationsServices.class 不工作

    大家好 我是新来的使用javafx进行Android开发 我正在尝试使用 android 创建推送通知javafx javafxports 和 gluon Mobile 我的问题是推送通知没有按照我的预期显示 我的这个想法来自 http g
  • 通过 bash 脚本询问 MongoDB 是否是 Master

    我的 mongodb 应该每天运行一次备份 它由一个主设备和两个从设备运行 我需要备份其中一个 因为它们只是副本 最简单的方法是仅在一个实例上运行备份脚本 但如果这个实例宕机了怎么办 因此 我认为在主服务器上运行备份脚本会很好 因为即使其他