1. 程式人生 > >ubuntu16.04設定開機自啟動(以mongodb為例)

ubuntu16.04設定開機自啟動(以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