ubuntu16.04设置开机自启动(以mongodb为例)

本文介绍如何通过创建启动脚本来管理和控制MongoDB服务。包括脚本的具体内容、如何使用该脚本来启动和停止MongoDB服务,以及如何设置和取消开机自启动。

以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

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值