Linux下的mongodb服務監(jiān)視腳本(啟動服務)
前些天,一位開發(fā)同事找到我,說他測試環(huán)境的 mongodb 經(jīng)常掛掉,要我寫一個監(jiān)控或復活的腳本。我覺得很奇怪,測試環(huán)境又沒啥負載,經(jīng)常掛掉肯定有非常規(guī)原因。
跑過去看了一下日志,發(fā)現(xiàn)存在stop記錄,我就納悶了,沒人操作他還會自己stop。這明顯不是掛掉了,于是到history中看了下同事的啟動命令:
/usr/local/mongodb/bin/mongod --dbpath=/usr/local/mongodb/data/ --logpath=/data/mongodb.log --logappend &
原來如此!因為他沒有用nohup啟動,所以只要他的終端離線或者關(guān)閉,mongodb就會自動退出了!解決辦法很簡單,如下啟動即可:
nohup /usr/local/mongodb/bin/mongod --dbpath=/usr/local/mongodb/data/ --logpath=/data/mongodb.log --logappend >/dev/null 2>&1 &
這樣敲命令也著實苦逼,所以從網(wǎng)上找了一個mongodb服務腳本就舒服多了:
#!/bin/sh
#
#mongod - Startup script for mongod
#
# chkconfig: - 85 15
# description: Mongodb database.
# processname: mongod
# Source function library
. /etc/rc.d/init.d/functions
# things from mongod.conf get there by mongod reading it
# OPTIONS
OPTIONS=" --dbpath=/home/data/mongodb/ --logpath=/home/data/mongodb/mongodb.log --logappend &"
#mongod
mongod="/usr/local/mongodb/bin/mongod"
lockfile=/var/lock/subsys/mongod
start()
{
echo -n $"Starting mongod: "
daemon $mongod $OPTIONS
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && touch $lockfile
}
stop()
{
echo -n $"Stopping mongod: "
killproc $mongod -QUIT
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && rm -f $lockfile
}
restart () {
stop
start
}
ulimit -n 12000
RETVAL=0
case "$1" in
start)
start
;;
stop)
stop
;;
restart|reload|force-reload)
restart
;;
condrestart)
[ -f $lockfile ] && restart || :
;;
status)
status $mongod
RETVAL=$?
;;
*)
echo "Usage: $0 {start|stop|status|restart|reload|force-reload|condrestart}"
RETVAL=1
esac
exit $RETVAL
將代碼保存到 /etc/init.d/mongodb,然后使用 chmod +x /etc/init.d/mongodb 添加執(zhí)行權(quán)限。
現(xiàn)在,就可以使用 service 命令來控制mongodb了:
service mongodb start|stop|restart
#或
/etc/init.d/mongodb start|stop|restart
非常簡單,貼到博客記錄一下,以備不時之需。
相關(guān)文章
淺談Linux下修改/設置環(huán)境變量JAVA_HOME的方法
這篇文章主要介紹了淺談Linux下修改/設置環(huán)境變量JAVA_HOME的方法,環(huán)境變量一般是指在操作系統(tǒng)中用來指定操作系統(tǒng)運行環(huán)境的一些參數(shù)。環(huán)境變量是在操作系統(tǒng)中一個具有特定名字的對象,它包含了一個或者多個應用程序所將使用到的信息。感興趣的可以了解一下2020-07-07
使用Apache ab工具對Apache服務器進行簡單的壓力測試
這篇文章主要介紹了使用Apache ab工具對Apache服務器進行簡單的壓力測試的方法,文中還對如何查看當前Apache的連接數(shù)的方法作了介紹,需要的朋友可以參考下2016-03-03

