0
我在我們的linux服務器上編寫了一個關於從MongoDB中提取報告的bash腳本。實際上,還有兩個副本服務器,如果當時它是主服務器,我應該提取報告。如果不是,腳本將不會提取任何內容。從bash中識別mongo服務器狀態
有沒有辦法從shell獲取這些信息?謝謝。
我在我們的linux服務器上編寫了一個關於從MongoDB中提取報告的bash腳本。實際上,還有兩個副本服務器,如果當時它是主服務器,我應該提取報告。如果不是,腳本將不會提取任何內容。從bash中識別mongo服務器狀態
有沒有辦法從shell獲取這些信息?謝謝。
你必須運行一個命令來找出它是否是PRIMARY。
我有一個 「JS」 文件,其中包含此:
`printjson(db.isMaster().ismaster);
然後在我的bash腳本我運行執行這一點,並採取相應的行動:
PRIMARY=`/usr/bin/mongo ${SERVERNAME}:${PORT} --quiet ${SCRIPTDIR}/isMaster.js`;
#
#
if [ "$PRIMARY" != "false" ]; then
# it is the PRIMARY
歡呼
謝謝,我只是用它是這樣的:mongo --quiet --eval「d = db.isMaster(); print(d ['ismaster']);」 – skynyrd