6

いくつかの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

モンゴで接続ステータスを確認する方法はありますか? 最終的に私は次のようなものが欲しい:

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

4 に答える 4

24

次のような 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
于 2013-05-14T14:42:04.417 に答える