以mongodb的设置为例
1.在/etc/init.d/目录下创建mongodb-start文件,文件内容如下:
#!/bin/bash
### BEGIN INIT INFO
# Provides: mongodb
# Required-Start: $local_fs $network
# Required-Stop: $local_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: mongodb
# Description: mongodb
### END INIT INFO
## 命令名称
PROG="mongod"
## 安装路径
PROG_PATH="/usr/local/mongodb"
## 一些参数
PROG_ARGS="--fork --dbpath /data/mongodb-data --logpath /data/mongodb-log/db.log"
## 存储进程号的PID文件保存的目录
PID_PATH="/var/run/"
## 定义启动函数
start() {
## 如果pid文件存在,认为已经存在一个进程
if [ -e "$PID_PATH/$PROG.pid" ]; then
echo "Error! $PROG is currently running!" 1>&2
exit 1
else
## 启动命令,错误重定向输出到/var/log/目录下
$PROG_PATH/bin/$PROG $PROG_ARGS 2>&1 >/var/log/$PROG &
pid=`ps ax | grep -i 'bin/mongod' | sed 's/^\([0-9]\{1,\}\).*/\1/g' | head -n 1`
echo "$PROG started"
## 获取进程号存到pid文件中
echo $pid > "$PID_PATH/$PROG.pid"
fi
}
## 定义关闭函数
stop() {
echo "begin stop"
if [ -e "$PID_PATH/$PROG.pid" ]; then
## kill掉进程
pid=`ps ax | grep -i 'bin/mongod' | sed 's/^\([0-9]\{1,\}\).*/\1/g' | head -n 1`
kill $pid
## 删除pid文件
rm -f "$PID_PATH/$PROG.pid"
echo "$PROG stopped"
else
echo "Error! $PROG not started!" 1>&2
exit 1
fi
}
if [ "$(id -u)" != "0" ]; then
echo "This script must be run as root" 1>&2
exit 1
fi
case "$1" in
start)
start
exit 0
;;
stop)
stop
exit 0
;;
reload|restart|force-reload)
stop
start
exit 0
;;
**)
echo "Usage: $0 {start|stop|reload}" 1>&2
exit 1
;;
esac
exit 0
2.测试启动脚本是否有效
1) 启动
sudo /etc/init.d/mongodb-start start
ps -ax | grep -i ‘bin/mongod’
如果有相应进程,说明启动成功
2) 关闭
sudo /etc/init.d/mongodb-start stop
ps -ax | grep -i ‘bin/mongod’
如果没有相应进程,说明启动失败
3.设置开机自启动
sudo update-rc.d mongodb-start defaults
4.删除开机自启动
sudo update-rc.d mongodb-start remove
本文介绍如何通过创建启动脚本来管理和控制MongoDB服务。包括脚本的具体内容、如何使用该脚本来启动和停止MongoDB服务,以及如何设置和取消开机自启动。
1万+

被折叠的 条评论
为什么被折叠?



