Shell脚本一键部署MongoDB
发表于:2025-11-06 作者:千家信息网编辑
千家信息网最后更新 2025年11月06日,Shell脚本一键部署MongoDB基本实施思路:安装MongoDB→创建多实例(创建数量可根据需求自定义)→开启所有实例并展示端口#!/bin/bash#自动安装MongoDB##检查MongoDB
千家信息网最后更新 2025年11月06日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安全错误
数据库的锁怎样保障安全
大专 网络技术
工业控制系统网络安全会议
逆水寒怎么查看服务器角色
从事网络安全学什么专业
怎么知道是什么软件开发
南阳软件开发员招聘
网络技术类人才
海曙软件开发平台
安徽大学计算机作业数据库
vps 服务器搭建
计算机应用里有软件开发吗
我的世界多人服务器牧牧
数据库的完整性和安全性是指
宝鸡网络安全周活动
嵊州逐梦网络技术服务有限公司
海南绍赢网络技术有限公司
rdms数据库
ipad用于软件开发
云服务器选择
软件开发高级经理岗位职责
腾讯公司招软件开发人员待遇怎样
内存数据库性能
五年级网络安全手抄报简单的
网络技术挑战赛 思科
东烁软件开发公司
服务器安全狗360
用联通数据王者荣耀服务器未响应
天空岛数据库不显示头像
高防棋牌服务器
魔兽世界服务器安苏