Chinaunix

标题: 问个mongo的问题 [打印本页]

作者: mengchang    时间: 2012-04-12 14:52
标题: 问个mongo的问题
本帖最后由 mengchang 于 2012-04-12 14:56 编辑

#!/bin/bash
# chkconfig: 345 85 15
# description: nginx is a database server
# processname: mongod
mongo="/a/b/logs/mongod"

. /etc/rc.d/init.d/functions
case $1 in "start")
cd $mongo
nohup /a/b/mongodb/bin/mongod --dbpath=/a/b/data/mongodb  --fork  --logpath=/a/b/logs/mongod/mongo.log --logappend >/dev/null &
if [ $? == "0" ];then
echo "mongo start ok"
else
echo "please check the log"
fi
;;
"stop")
cd $mongo
nohup /a/b/mongodb/bin/mongod --dbpath=/a/a/data/mongodb  --fork --logpath=/a/b/logs/mongod/mongo.log --logappend > $mongo/out.tmp

awk 'NR == 2{ print $3 }' < $mongo/out.tmp> $mongo/mongod.pid
#sleep 3

/a/b/mongodb/bin/mongo < /a/b/mongodb/bin/onstart.js

line_num=`ps -fe | grep mongod |grep -v "grep"|wc -l`
if [ "$line_num" == "0" ];then
echo  " ---`date +%y-%m-%d-%H-%M-%S` ----mongd stop ok" >> $mongo/mongostop.log
else
echo "please check the log"
fi
;;

esac
onstart.js文件内容:
use admin;
db.shutdownServer()

运行:
/etc/init.d/mongod stop
有如下报错信息:
connecting to: test
switched to db admin
Thu Apr 12 14:42:16 DBClientCursor::init call() failed
Thu Apr 12 14:42:16 query failed : admin.$cmd { shutdown: 1.0 } to: 127.0.0.1:27017
server should be down...
Thu Apr 12 14:42:16 trying reconnect to 127.0.0.1:27017
Thu Apr 12 14:42:16 reconnect 127.0.0.1:27017 failed couldn't connect to server 127.0.0.1:27017
bye
please check the log

为什么会有这个报错信息那
作者: RogerZhuo    时间: 2012-04-12 15:27
回复 1# mengchang
你执行完 /etc/init.d/mongod stop

再执行一下:
ps -ef |  grep mongod |grep -v "grep"

看输出是什么。

应该没有什么大问题,
不过,不知道你执行stop的时候,为什么要先启动一下mongodb后,再检查,再关闭?
个人觉得,stop/start的时候直接先ps -fe | grep mongod |grep -v "grep"|wc -l 判断一下mongo是否启动


   
作者: mengchang    时间: 2012-04-12 15:55
en,我找到问题了,那个脚本有点问题,
mongo admin --eval db.shutdownServer()
把这个问题解决了




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2