Linux下的mongodb服務(wù)監(jiān)視腳本(啟動(dòng)服務(wù))
前些天,一位開發(fā)同事找到我,說他測(cè)試環(huán)境的 mongodb 經(jīng)常掛掉,要我寫一個(gè)監(jiān)控或復(fù)活的腳本。我覺得很奇怪,測(cè)試環(huán)境又沒啥負(fù)載,經(jīng)常掛掉肯定有非常規(guī)原因。
跑過去看了一下日志,發(fā)現(xiàn)存在stop記錄,我就納悶了,沒人操作他還會(huì)自己stop。這明顯不是掛掉了,于是到history中看了下同事的啟動(dòng)命令:
/usr/local/mongodb/bin/mongod --dbpath=/usr/local/mongodb/data/ --logpath=/data/mongodb.log --logappend &
原來如此!因?yàn)樗麤]有用nohup啟動(dòng),所以只要他的終端離線或者關(guān)閉,mongodb就會(huì)自動(dòng)退出了!解決辦法很簡(jiǎn)單,如下啟動(dòng)即可:
nohup /usr/local/mongodb/bin/mongod --dbpath=/usr/local/mongodb/data/ --logpath=/data/mongodb.log --logappend >/dev/null 2>&1 &
這樣敲命令也著實(shí)苦逼,所以從網(wǎng)上找了一個(gè)mongodb服務(wù)腳本就舒服多了:
#!/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
非常簡(jiǎn)單,貼到博客記錄一下,以備不時(shí)之需。
相關(guān)文章
linux服務(wù)器校對(duì)時(shí)間方法命令詳解
Linux中有個(gè)ntp包可以自動(dòng)校準(zhǔn)時(shí)間,并且非常好用,這篇文章主要介紹了linux服務(wù)器校對(duì)時(shí)間方法,需要的朋友可以參考下2022-08-08centos yum php 7.x 無需刪除升級(jí)的方法
下面小編就為大家分享一篇centos yum php 7.x 無需刪除升級(jí)的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-03-03CentOS7安裝GUI界面及遠(yuǎn)程連接的實(shí)現(xiàn)
這篇文章主要介紹了CentOS7安裝GUI界面及遠(yuǎn)程連接的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10淺談Linux下修改/設(shè)置環(huán)境變量JAVA_HOME的方法
這篇文章主要介紹了淺談Linux下修改/設(shè)置環(huán)境變量JAVA_HOME的方法,環(huán)境變量一般是指在操作系統(tǒng)中用來指定操作系統(tǒng)運(yùn)行環(huán)境的一些參數(shù)。環(huán)境變量是在操作系統(tǒng)中一個(gè)具有特定名字的對(duì)象,它包含了一個(gè)或者多個(gè)應(yīng)用程序所將使用到的信息。感興趣的可以了解一下2020-07-07Apache 支持CGI程序和SSI程序的設(shè)置方法
在這里,網(wǎng)頁教學(xué)網(wǎng)和大家探討如何修改服務(wù)器選項(xiàng)讓服務(wù)器能提供簡(jiǎn)單的動(dòng)態(tài)網(wǎng)頁內(nèi)容,也就是支持CGI程序及 Server-Side Include(SSI)程序。2009-10-10CentOS下搭建Sendmail郵件服務(wù)器步驟詳解
本篇文章主要介紹了CentOS下搭建Sendmail郵件服務(wù)器步驟詳解,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-12-12使用Apache ab工具對(duì)Apache服務(wù)器進(jìn)行簡(jiǎn)單的壓力測(cè)試
這篇文章主要介紹了使用Apache ab工具對(duì)Apache服務(wù)器進(jìn)行簡(jiǎn)單的壓力測(cè)試的方法,文中還對(duì)如何查看當(dāng)前Apache的連接數(shù)的方法作了介紹,需要的朋友可以參考下2016-03-03