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

  出现一下提示说明恢复完成  

  

  再进入数据库查看数据,整个数据库已还原,如图:

  

 

posted @ 2019-04-01 19:02  christine-ting  阅读(392)  评论(0编辑  收藏  举报