mongodb - shell 脚本 - 检查 mongodb 服务器是否正在运行

标签 mongodb shell

我有一个 shell 脚本来执行一些 mongo db 操作:

例如mongo testdb --eval "db.dropDatabase()"

但是,如果 mongod 服务器没有运行,我会得到:

MongoDB shell version: 2.0.4
connecting to: testdb
Tue May 14 04:33:58 Error: couldn't connect to server 127.0.0.1 shell/mongo.js:84

有没有办法在 mongo 中检查连接状态?最终我想要这样的东西:

if(mongod is running):
    mongo testdb --eval "db.dropDatabase()"
else:
    echo "pls make sure your mongod is running"
    exit 1

最佳答案

您应该能够像这样创建一个 bash 脚本:

mongo --eval "db.stats()"  # do a simple harmless command of some sort

RESULT=$?   # returns 0 if mongo eval succeeds

if [ $RESULT -ne 0 ]; then
    echo "mongodb not running"
    exit 1
else
    echo "mongodb running!"
fi

关于mongodb - shell 脚本 - 检查 mongodb 服务器是否正在运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16542372/

相关文章:

linux - 解析 shell 脚本参数

linux - Bash 脚本不会等到命令被正确执行

mongodb - 在 Mongo shell 中使用 undefined variable

node.js - 使用 Mongoose 在 MongoDB 中创建关系(在 Node.js 中)

node.js - MEAN Stack : Very specific web requests to generic model methods, 或具有非常具体模型方法的通用 Web 请求?

bash - 循环运行命令直到超时,然后导出变量

java - 如何从 Java 程序中调用 shell 脚本?

node.js - 使用 node.js 将文件流式传输到 mongodb

java - 使用 Java 在 MongoDB 中插入日期

java - 小部件已处置