diff --git a/README.md b/README.md index 41b14db..9760166 100644 --- a/README.md +++ b/README.md @@ -567,4 +567,60 @@ network: search: - rulingcom.com version: 2 +### 六、如果 /etc/init.d/mongod 遺失(適用於ubuntu14.04以上) +```sh +# 建立 mongod service +$ sudo vim /etc/init.d/mongod #請查看以下/etc/init.d/mongod之內容 +$ sudo chmod +x /etc/init.d/mongod +``` +```txt +#此為/etc/init.d/mongod之內容 +#!/bin/bash +case $1 in +start) + if [ -f "/var/lib/mongodb/mongod.lock" ]; then + exit 0 + else + self_pid=$$ + pid=`ps aux | grep mongod | grep -v 'service' | grep -v 'grep' | grep -v '/etc/init.d' | awk '{print $2}'`; + COUNTER=0 + for i in $pid + do + if [ -f "/proc/$i/status" ]; then + echo "$i" >> /var/lib/mongodb/mongod.lock; + COUNTER=$((COUNTER+1)) + fi + done + if [ $COUNTER == 0 ]; then + sudo mongod --config /etc/mongod.conf & + exit 0 + fi + fi + ;; +stop) + if [ -f "/var/lib/mongodb/mongod.lock" ]; then + sudo kill -s TERM `cat /var/lib/mongodb/mongod.lock` + fi + sudo rm -f /var/lib/mongodb/mongod.lock + ;; +restart|reload) + if [ -f "/var/lib/mongodb/mongod.lock" ]; then + sudo kill -s TERM `cat /var/lib/mongodb/mongod.lock` + fi + sudo rm -f /var/lib/mongodb/mongod.lock + sudo mongod --config /etc/mongod.conf & + exit 0 + ;; +status) + if [ -f "/var/lib/mongodb/mongod.lock" ]; then + if [ -f "/proc/$(cat /var/lib/mongodb/mongod.lock)/status" ]; then + echo "mongo is already running" + else + echo "mongo is not running" + fi + else + echo "mongo is not running" + fi +esac +```