mongdb配置,自动备份与恢复
安装mongodb
1、下载mongodb安装包
cd /opt
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-4.0.10.tgz
2、解压安装包
tar -xvf mongodb-linux-x86_64-4.0.10.tgz
3、在/opt/mongodb-4.0.10目录下创建mongo.conf
mv mongodb-linux-x86_64-4.0.10 mongodb-4.0.10
cd mongodb-4.0.10
vim mongo.conf
systemLog:
destination: file
path: "/opt/mongodb-4.0.10/logs/mongodb.log"
logAppend: true
storage:
dbPath: "/data/mongodb"
journal:
enabled: true
mmapv1:
smallFiles: true
wiredTiger:
engineConfig:
configString: cache_size=345M
processManagement:
fork: true
net:
#bindIp: 127.0.0.1
port: 28018
setParameter:
enableLocalhostAuthBypass: false
4、创建mongodb数据目录,和日志目录
mkdir -p /data/mongodb
mkdir /opt/mongodb-4.0.10/logs
5、在/opt/mongodb-4.0.10下创建启动脚本和停止脚本
vim start.sh
/opt/mongodb-4.0.10/bin/mongod --config=/opt/mongodb-4.0.10/mongo.conf
vim stop.sh
ps -ef|grep mongo.conf|grep -v grep|awk '{printf $2}'|xargs kill -9
备份与恢复
1、自动备份
编写脚本backMongo.sh
dumpCmd=/opt/mongodb-4.0.10/bin/mongodump
backDir=/tmp/mongodb
tarDir=/data/mongodb_tar_dir
DATE=`date +%Y-%m-%d-%H:%M:%S`
backDay=15
if [ ! -d $backDir ];then
mkdir $backDir
fi
cd $backDir && $dumpCmd -h 127.0.0.1:28018
cd $backDir && tar -zcvf $tarDir/$DATE"_mongo.tar.gz" dump/
find $tarDir/ -mtime +$backDay -delete
设置定时任务,每天5点执行
vim /etc/crontab
0 5 * * * root sh /opt/mongodb-4.0.10/backMongo.sh
2、数据还原
准备一个全新的数据库(做实验用的全新的数据库,小伙伴可以自己根据自己的需求来),如图:
执行恢复语句:./bin/mongorestore -h 127.0.0.1:28018 --dir=./dump
出现一下提示说明恢复完成
再进入数据库查看数据,整个数据库已还原,如图: