美文网首页
ubuntu下自动备份MongoDB数据

ubuntu下自动备份MongoDB数据

作者: RosalindJuan | 来源:发表于2018-04-19 15:24 被阅读0次

    一、创建MongoDB备份目录

      mkdir -p /usr/dataBak/mongodb_bak/mongodb_bak_now
      mkdir -p /usr/dataBak/mongodb_bak/mongodb_bak_list
    

    二、备份脚本(/usr/dataBak/mongodb_bak/MongoDB_bak.sh)

      cd /usr/dataBak/mongodb_bak/
      vi MongoDB_bak.sh
    

    在MongoDB_bak.sh里面输入

      # !/bin/bash
      # backup MongoDB
      #mongodump命令路径
      DUMP=/usr/bin/mongodump
      #临时备份目录
      OUT_DIR=/usr/dataBak/mongodb_bak/mongodb_bak_now
      #备份存放路径
      TAR_DIR=/usr/dataBak/mongodb_bak/mongodb_bak_list
      #获取当前系统时间
      DATE=`date +%Y_%m_%d`
      #数据库账号
      DB_USER="admin"
      #数据库密码
      DB_PASS="123456"
      #DAYS=15代表删除15天前的备份,即只保留近15天的备份
      DAYS=15
      #最终保存的数据库备份文件
      TAR_BAK="mongodb_bak_$DATE.tar.gz"
      cd $OUT_DIR
      rm -rf $OUT_DIR/*
      mkdir -p $OUT_DIR/$DATE
      $DUMP -o $OUT_DIR/$DATE
      # 压缩格式为 .tar.gz 格式
      tar -zcvf $TAR_DIR/$TAR_BAK $OUT_DIR/$DATE
      # 删除 15 天前的备份文件
      find $TAR_DIR/ -mtime +$DAYS -delete
    
      exit
    

    注意:DUMP这里的路径是mongodb安装的时候的路径,可以通过:

      locate mongo
    

    查找到mongodb安装的位置,我的系统下安装在/usr/bin/下面,在/usr/bin/里面也有/usr/bin/mongodump。

    三、修改/etc/crontab,添加计划任务

      vi /etc/crontab
    

    添加任务:每天1:30开始执行MongoDB数据库备份脚本

     30 1    * * *   root    /usr/dataBak/mongodb_bak/MongoDB_bak.sh
    

    四、恢复数据库

    如:我想要从备份的数据库testdb里面,恢复test1数据库里面的数据。
    执行以下代码:

      mongorestore --db test1 /usr/dataBak/mongodb_bak/mongodb_bak_now/2018_04_19/testdb

    相关文章

      网友评论

          本文标题:ubuntu下自动备份MongoDB数据

          本文链接:https://www.haomeiwen.com/subject/srpwkftx.html