Shell脚本一键部署MongoDB
发表于:2025-02-23 作者:千家信息网编辑
千家信息网最后更新 2025年02月23日,Shell脚本一键部署MongoDB基本实施思路:安装MongoDB→创建多实例(创建数量可根据需求自定义)→开启所有实例并展示端口#!/bin/bash#自动安装MongoDB##检查MongoDB
千家信息网最后更新 2025年02月23日Shell脚本一键部署MongoDB
Shell脚本一键部署MongoDB
基本实施思路:
安装MongoDB→创建多实例(创建数量可根据需求自定义)→开启所有实例并展示端口
#!/bin/bash#自动安装MongoDB##检查MongoDB是否已安装local="/etc/yum.repos.d/MongoDB.repo"rpm -q mongodb-org &> /dev/nullif [ $? -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 fielse 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 fidone#监听所有网段sed -i "/bindIp/s/127.0.0.1/0.0.0.0/" /etc/mongod.confsystemctl start mongod.service#检测是否启动正常netstat -atnp | grep 27017 &> /dev/nullif [ $? -eq 0 ];then echo "MongoDB服务启动,一号实例建立完成"else echo "启动失败" exit 1fiecho "=========================================================="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,别搞些有的没的" esacelse echo "$i号实例已创建" fidonerm -rf shili
实例
文件
日志
口号
数据
路径
配置
成功
脚本
一键
原配
密钥
思路
数量
目录
端口
网段
错误
需求
循环
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
软件开发设计分析课程介绍
梦幻手游服务器找不到区服
乐平求职软件开发
兰州市软件开发哪家好
移动互联对网络安全
怎么提升办公软件开发水平
校园系统软件开发
恩牛网络技术有限公司安全吗
分布式数据库中pec
网络安全学院教授
网络技术方向经理是干什么的
网络安全技术工
计算机网络技术网页设计方向
广西枫和网络技术有限公司
如何建立空间数据库的视屏
湖北管理软件开发费用
服务器出风口温度正常范围
python调用数据库画图
存储服务器录像配置
网络安全法法规标准指南
南京智能软件开发工程师
软件开发毕业实习日志
日照临昇互联网科技有限公司
网络安全课护苗漫画
丰南区正规软件开发
网络安全协调和技术处
泰劳森数据库
怎么登陆服务器
服务器出风口温度正常范围
火绒软件开发