安裝MongoDB→創(chuàng)建多實例(創(chuàng)建數(shù)量可根據(jù)需求自定義)→開啟所有實例并展示端口
#!/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
#反復(fù)比對密鑰(可能不會一次成功)
for ((i=1;i<=10;i++))
do
rpm -q mongodb-org &> /dev/null
if [ $? -ne 0 ];then
yum install mongodb-org -y
fi
done
#監(jiān)聽所有網(wǎng)段
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服務(wù)啟動,一號實例建立完成"
else
echo "啟動失敗"
exit 1
fi
echo "=========================================================="
echo "即將開始創(chuàng)建實例"
sleep 5
#死循環(huán)進(jìn)行多實例的創(chuàng)建
for ((i=2;i>0;i++))
do
#判斷數(shù)據(jù)目錄與日志文件是否存在
if [ ! -e /data/mongodb/mongodb$i ] && [ ! -e /data/mongodb/mongod$i.log ];then
read -p "是否開始創(chuàng)建第$i個實例(y/n):" create
p=`expr $i - 1`
case $create in
y)
#建立數(shù)據(jù)存放路徑
mkdir -p /data/mongodb/mongodb$i
#新建多實例對應(yīng)的日志文件
touch /data/mongodb/mongodb$i.log
#日志文件提權(quán)
chmod 777 /data/mongodb/mongodb$i.log
#復(fù)制原配置文件
cp -p /etc/mongod.conf /etc/mongod$i.conf
#修改對應(yīng)的數(shù)據(jù)文件存放路徑&日志文件路徑
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}'`
#更改實例對應(yīng)的端口號
sed -i "/port/s/27017/`expr $point + $p`/" /etc/mongod$i.conf
#啟動對應(yīng)實例
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 "本次共創(chuàng)建$p個實例(包括一號實例)"
#展示所有實例端口號
netstat -atnp | grep mongod | awk '{print $4}' | awk -F: '{print $2}' > shili
echo "端口號為:"
cat shili
break ;;
*)
echo "請輸入y/n,別搞些有的沒的"
esac
else
echo "$i號實例已創(chuàng)建"
fi
done
rm -rf shili
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)建站aaarwkj.com,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
文章標(biāo)題:Shell腳本一鍵部署MongoDB-創(chuàng)新互聯(lián)
文章路徑:http://aaarwkj.com/article36/ccjhpg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序、面包屑導(dǎo)航、定制網(wǎng)站、ChatGPT、微信公眾號、云服務(wù)器
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容