Shell脚本一键部署MongoDB-创新互联

Shell脚本一键部署MongoDB

基本实施思路:

安装MongoDB→创建多实例(创建数量可根据需求自定义)→开启所有实例并展示端口

东坡ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联建站的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18982081108(备注:SSL证书合作)期待与您的合作!
#!/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

另外有需要云服务器可以了解下创新互联建站www.cdcxhl.com,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


本文题目:Shell脚本一键部署MongoDB-创新互联
URL网址:http://scyanting.com/article/ccjhpg.html