Ответ 1
Вы можете использовать опцию --eval
для mongo
для этого:
MASTER=`mongo --quiet --eval "d=db.isMaster(); print( d['ismaster'] );"`
И затем проверьте, есть ли MASTER == "true"
в вашей оболочке script.
Мой mongodb должен запускать резервное копирование каждый день. Он работает с одним ведущим и двумя подчиненными устройствами.
Мне нужно сделать резервную копию ОДНОГО из них (потому что это всего лишь реплики)
Самый простой способ - запустить резервную копию script только на одном экземпляре. но что, если этот экземпляр не работает? Поэтому я подумал, что было бы неплохо запустить backupscript на главном сервере, потому что всегда есть один мастер, даже если один из остальных отключен.
Поэтому мне нужно настроить мой backupscript в cron.daily, чтобы спросить mongodb, если он является текущим мастером.
Как это сделать?
Вы можете использовать опцию --eval
для mongo
для этого:
MASTER=`mongo --quiet --eval "d=db.isMaster(); print( d['ismaster'] );"`
И затем проверьте, есть ли MASTER == "true"
в вашей оболочке script.