MongoDB的tar安装脚本
脚本的内容很简单,只是简单的将安装过程写成了脚本.= =
该脚本默认下载的3.6.3版本的mongoDB,如果需要更改版本,需要修改mongoUrl和fileName两个参数.
# MongoDB安装脚本
#! /bin/bash
if [ `id -u` -gt 0 ];
then
echo 'please use the root user to execute this script';
exit 2;
fi
# mongodb下载地址
mongoUrl=http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-3.6.3.tgz
#下载包的名称
fileName=mongodb-linux-x86_64-rhel70-3.6.3.tgz
#文件安装目录
installDir=/usr/local/mongodb
#系统服务注册目录
systemctlDir=/etc/systemd/system
#下载mongodb,如果已经存在则不下载
wget -nc $mongoUrl;
#解压文件
tar -zxvf $fileName
[ 0 -gt $? ] && echo '解压文件失败' && exit 2;
#移除下载的文件
rm -rf ./$fileName
[ 0 -gt $? ] && echo '移除已下载文件失败' && exit 2;
#判断安装文件目录是否已经存在
[ -d $installDir ] && echo '安装目录已存在!' && [ -n $installDir ] && rm -r $installDir/*
[ 0 -gt $? ] && echo '删除已有目录失败!' && exit 2;
[ ! -d $installDir ] && mkdir $installDir && echo '新建安装目录...'
#复制数据到安装目录下
cp -rp mongodb-linux-x86_64-rhel70-3.6.3/* $installDir
#创建子目录
for subDir in data/db log conf bin
do mkdir -p $installDir/$subDir;
done
#修改权限
chmod -R 777 $installDir
cd $installDir/conf
#创建配置文件
echo "#mongodb configuration
#日志输出管理
systemLog:
destination: file #指定日志格式为文件,指定为文件时,必须指定path.
path: /usr/local/mongodb/log/mongod.log
quiet: true #静默模式,限制日志的输出信息
logAppend: true #启用追加日志
timeStampFormat: iso8601-utc #日志信息中的时间戳格式
#进程管理
net:
maxIncomingConnections: 1000000 #实例接受的最大连接数,默认1000000
port: 27017 #服务监听的端口
bindIp: 0.0.0.0 #实例绑定的IP,默认全部开启
wireObjectCheck: false #检查文档的有效性,会稍微印象性能,默认关闭.
">>mongod.conf
#配置系统服务
[ ! -d $systemctlDir ] && mkdir -P $systemctlDir
#判断系统服务是否已经存在
[ -e $systemctlDir/mongodb.service ] && rm -rf $systemctlDir/mongodb.service
echo "[Unit]
Description=mongodb service
[Service]
Type=forking
PIDFile=/var/run/mongodb/mongod.pid
ExecStart=$installDir/bin/mongod -f $installDir/conf/mongod.conf
ExecStop=$installDir/bin/mongod --shutdown --dbpath $installDir/data/db
ExecReload=$installDir/bin/mongod --dbpath $installDir/data/db
[Install]
WantedBy=multi-user.target
">>$systemctlDir/mongodb.service
echo '安装成功!'