1.脚本化安装mongodb
原创
©著作权归作者所有:来自51CTO博客作者心态平和观澜的原创作品,请联系作者获取转载授权,否则将追究法律责任
一般在装环境的时候总是会频繁的装一些基础的软件,比如tomcat,mysql,mongo等,于是我就想写一个系列,用脚本化的方式来一键安装这些小玩意儿。
脚本化安装mongodb
环境要求
起码是centos7以上吧,应用过程中遇到啥问题我再加。
脚本正文
脚本是个大概的内容,展示思路,主要就是下载,解压,设置配置文件,然后设置为开机启动。
#!/bin/bash
# shell的执行选项:
# -n 只读取shell脚本,但不实际执行
# -x 进入跟踪方式,显示所执行的每一条命令
# -c "string" 从strings中读取命令
# 下载目录
downloadsDir=/root/Downloads
# 安装目录
appDir=/usr/local/mongodb
# mongo的名字
name=master
# 判断备份目录是否存在,不存时新建目录
[ ! -d $downloadsDir ] && mkdir -p $downloadsDir
cd $downloadsDir
# 下载mongodb
curl -O http://downloads.mongodb.org/linux/mongodb-linux-x86_64-2.6.7.tgz
# 解压mongodb
tar -zxvf mongodb-linux-x86_64-2.6.7.tgz
rm -rf $appDir
mkdir -p $appDir
# 复制mongodb数据库文件到$appDir目录下
cp -R /root/Downloads/mongodb-linux-x86_64-2.6.7/* $appDir
mkdir -p $appDir/data/db
mkdir -p $appDir/log
mkdir -p $appDir/conf
mkdir -p $appDir/bin
chmod -R 777 $appDir
cd $appDir/conf
echo "################################ ZHAOXIACE DEFINE ##############################" >> mongod.conf
echo "port=27017 #指定服务端口号,默认端口27017" >> mongod.conf
echo "dbpath=data #指定数据库路径" >> mongod.conf
echo "logpath=log/mongod.log #指定MongoDB日志文件" >> mongod.conf
echo "auth=false #启用验证" >>mongod.conf
echo "fork=true #以守护进程的方式运行MongoDB,创建服务器进程" >> mongod.conf
cd ../
install_mongo_service(){
echo -e "\033[32m创建${name}启动文件.....\033[0m"
cat > /usr/lib/systemd/system/mongodb-${name}.service << EOF
[Unit]
Description=mongodb
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
ExecStart=$appDir/bin/mongod --config $appDir/conf/mongodb.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=$appDir/bin/mongod --shutdown --config $appDir/conf/mongodb.conf
PrivateTmp=true
[Install]
WantedBy=multi-user.target
EOF
chmod 754 /usr/lib/systemd/system/mongodb-${name}.service
echo -e "\033[32m加入开机启动.....\033[0m"
systemctl daemon-reload
systemctl enable mongodb-${name}
echo -e "\033[32m启动mongodb.....\033[0m"
systemctl start mongodb-${name}
systemctl status mongodb-${name}
}
install_mongo_service