Shell脚本一键部署MongoDB
发表于:2025-01-19 作者:千家信息网编辑
千家信息网最后更新 2025年01月19日,Shell脚本一键部署MongoDB基本实施思路:安装MongoDB→创建多实例(创建数量可根据需求自定义)→开启所有实例并展示端口#!/bin/bash#自动安装MongoDB##检查MongoDB
千家信息网最后更新 2025年01月19日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安全错误
数据库的锁怎样保障安全
基于Java的网络安全管理系统
做软件开发还是3d
推荐需要管理的服务器
安装金蝶是数据库配置失败
数据库日志审计维护
江苏商城软件开发价位
中央网络安全 政策
欧瑞服务器接线图
郴州市软件开发工程师就业
阿文菌个人服务器
小程序为什么用自己的服务器
全是32k的服务器游戏推荐
华为防火墙服务器映射配置命令
刀塔自走棋用哪的服务器
青浦区智能化软件开发要多少钱
吧鉴定网络安全海报
看法法律数据库
江苏软件开发定制平台
数据库第五章演讲
cdn网络安全加固培训
汽车采用局域网络技术的优点
网络安全加固顺利实施
杭州网络安全大会谁来参加
江苏商城软件开发价位
注塑机控制软件开发的使用效果
高斯数据库怎么导出建表语句
态势推演系统软件开发
数据库工程师岗位的具体职责模板
分布式 服务器
宝塔上的数据库被删了