中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Shell腳本一鍵部署MongoDB

發布時間:2020-02-27 09:53:58 來源:網絡 閱讀:390 作者:qq5d47f509174fe 欄目:MongoDB數據庫

Shell腳本一鍵部署MongoDB

基本實施思路:

安裝MongoDB→創建多實例(創建數量可根據需求自定義)→開啟所有實例并展示端口

#!/bin/bash
#自動安裝MongoDB
#
#檢查MongoDB是否已安裝
local="/etc/yum.repos.d/MongoDB.repo"
rpm -q mongodb-org &> /dev/null
if [ $? -ne 0 ];then
#配置本地YUM源
    ls /etc/yum.repos.d/ | grep Mongo &> /dev/null
    if [ $? -ne 0 ];then
        touch $local
        echo "[mongodb-org]" >> $local
        echo "name=mongodb" >> $local
        echo "baseurl=https://repo.mongodb.org/yum/redhat/\$releasever/mongodb-org/3.6/x86_64/" >> $local
        echo "gpgcheck=1" >> $local
        echo "enabled=1" >> $local 
        echo "gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc" >> $local
        yum list
        yum install mongodb-org -y
    else
        echo "配置本地YUM源配置完成"
        yum list
        yum install mongodb-org -y
    fi
else
    echo "MongoDB已安裝~~~~~"
fi
#反復比對密鑰(可能不會一次成功)
for ((i=1;i<=10;i++))
do
    rpm -q mongodb-org &> /dev/null
    if [ $? -ne 0 ];then
        yum install mongodb-org -y
    fi
done
#監聽所有網段
sed -i "/bindIp/s/127.0.0.1/0.0.0.0/" /etc/mongod.conf
systemctl start mongod.service
#檢測是否啟動正常
netstat -atnp | grep 27017 &> /dev/null
if [ $? -eq 0 ];then
    echo "MongoDB服務啟動,一號實例建立完成"
else
    echo "啟動失敗"
    exit 1
fi
echo "=========================================================="
echo "即將開始創建實例"
sleep 5
#死循環進行多實例的創建
for ((i=2;i>0;i++))
do
#判斷數據目錄與日志文件是否存在
if [ ! -e /data/mongodb/mongodb$i ] && [ ! -e /data/mongodb/mongod$i.log ];then
    read -p "是否開始創建第$i個實例(y/n):"  create
    p=`expr $i - 1`
    case $create in
        y)
#建立數據存放路徑
            mkdir -p /data/mongodb/mongodb$i
#新建多實例對應的日志文件
            touch /data/mongodb/mongodb$i.log
#日志文件提權
            chmod 777 /data/mongodb/mongodb$i.log
#復制原配置文件
            cp -p /etc/mongod.conf /etc/mongod$i.conf
#修改對應的數據文件存放路徑&日志文件路徑
            sed -i "/path/s/\/var\/log\/mongodb\/mongod.log/\/data\/mongodb\/mongodb$i.log/" /etc/mongod$i.conf
            sed -i "/dbPath/s/\/var\/lib\/mongo/\/data\/mongodb\/mongodb$i/" /etc/mongod$i.conf
            point=`cat /etc/mongod.conf | grep port | awk '{print $2}'`
#更改實例對應的端口號
            sed -i "/port/s/27017/`expr $point + $p`/" /etc/mongod$i.conf
#啟動對應實例
            mongod -f /etc/mongod$i.conf
            netstat -atnp | grep $point &> /dev/null
            if [ $? -eq 0 ];then
                echo "$i號實例開啟成功"
            else
                echo "致命錯誤"
                exit 1
            fi
            ;;
        n)
            echo "本次共創建$p個實例(包括一號實例)"
#展示所有實例端口號
            netstat -atnp | grep mongod | awk '{print $4}' | awk -F: '{print $2}' > shili
            echo "端口號為:"
            cat shili
            break ;;
        *)
            echo "請輸入y/n,別搞些有的沒的"
    esac
else
    echo "$i號實例已創建" 
fi
done
rm -rf shili
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

华坪县| 买车| 新民市| 河北区| 扶余县| 桃江县| 长寿区| 弋阳县| 垫江县| 宿迁市| 勐海县| 麻城市| 襄垣县| 长寿区| 肇源县| 会宁县| 上犹县| 陇西县| 朝阳市| 绵竹市| 金塔县| 舒城县| 临武县| 嵩明县| 永登县| 二手房| 高碑店市| 钟祥市| 延津县| 中山市| 遂溪县| 巴中市| 沂水县| 安陆市| 通州区| 平利县| 汕尾市| 土默特左旗| 淳安县| 江华| 祁东县|