每次命令行启动mongodb很不方便,这里我google了一个启动脚本,适当的修改了一番,用起来很方便,这里分享给大家!只需要把配置修改成你实际需要的,即可使用了!

创建/etc/init.d/mongod文件,添加如下:

#!/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
# 你的可执行的mongod程序文件
mongod="/usr/local/mongodb-3.2.16/bin/mongod"
# 锁文件,默认它会存放在数据目录下
lockfile="/data/db/mongodb/mongod.lock"
# 当前的系统ip地址,由于我开发都是装的linux虚拟机,断电会自动变换ip,很烦,所以才这样自动获取了
current_ip="$(ifconfig | grep -A 1 'eth0' | tail -1 | cut -d ':' -f 2 | cut -d ' ' -f 1)"
# 监听的端口
port=27017
# 数据目录
data_path="/data/db/mongodb"
# 日志存放目录
log_path="/var/log/mongodb/mongod.log"
# 如果是32位系统,需要指定--storageEngine=mmapv1选项,64位的可以忽略这一项,如果需要配置config,自己加一项即可,我这里没加
# --logappend表示日志会追加写入文件,不用担心日志丢失问题
OPTIONS="--storageEngine=mmapv1 --nojournal --bind_ip=$current_ip --port=$port --dbpath=$data_path --logpath=$log_path --logappend &"

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

添加执行权限

[root@distribute01 ~]# chmod +x /etc/init.d/mongod

开机自启动

[root@distribute01 ~]# chkconfig --add mongod
[root@distribute01 ~]# chkconfig mongod on

测试