一、创建MongoDB备份目录

用来存放数据

mkdir -p /data/mongodb_bak/mongodb_bak_now

mkdir -p /data/mongodb_bak/mongodb_bak_list

二、创建MongoDB数据库备份脚本

 

#!/bin/bash
#

DUMP=/usr/local/mongodb/bin/mongodump    #mongodump命令路


OUT_DIR=/data/mongodb_bak/mongodb_bak_now    
#临时备份目录 

TAR_DIR=/data/mongodb_bak/mongodb_bak_list    
#备份存放路径 

DATE=`date +%Y_%m_%d`   #获取当前系统时间 


DB_USER=myadmin    #数据库账号 


DB_PASS=******    #数据库密码

DAYS=20    #DAYS=20代表删除20天前的备份,即只保留近20天的备份


TAR_BAK="mongodb_bak_$DATE.tar.gz"    
#最终保存的数据库备份文件 

cd $OUT_DIR

 

rm -rf $OUT_DIR/*

 

mkdir -p $OUT_DIR/$DATE

  
$DUMP -h 127.0.0.1:27017 -u $DB_USER -p $DB_PASS --authenticationDatabase "admin" -o $OUT_DIR/$DATE   
#备份全部数据库


tar -zcvf $TAR_DIR/$TAR_BAK $
OUT_DIR/$DATE    #压缩为.tar.gz格式

 

find $TAR_DIR/ -mtime +$DAYS -delete   #删除20天前的备份文件

exit

给脚本加执行权限

[root@server1 mongodb_bak]# chmod +x MongoDB_bak.sh 

三、测试

运行脚本

[root@server1 mongodb_bak]# sh +x MongoDB_bak.sh

在目录下查看

将数据恢复:

[root@server1 mongodb_bak]# mongorestore -h 127.0.0.1:27017 -d cara2 /data/mongodb_bak/mongodb_bak_now/2018_07_25/cara

进入数据库查看:

数据正常,说明备份一切都是ok的!

四、添加定时任务

[root@server1 ~]# crontab -e

35 21 * * * /data/mongodb_bak/MongoDB_bak.sh   #每天18:00执行MongoDB数据库备份脚本

用shell脚本实现MongoDB数据库自动备份的更多相关文章

  1. Linux下shell脚本实现mongodb定时自动备份

    MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.旨在为WEB应用提供可扩展的高性能数据存储解决方案. MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功 ...

  2. shell脚本,mysql数据库的备份-2[mysqldump]

    # 数据库IPIP=127.0.0.1# 数据库端口PORT=3306# 数据库用户USER=root# 数据库密码PASSWORD=****# 要备份的数据库TARGET_DB=database_n ...

  3. shell脚本,mysql数据库的备份,并压缩

    db_user="root"db_passwd="xxx"db_host="localhost" databases="xxx-p ...

  4. svn数据库自动备份脚本

    创建一个存放备份数据的路径 mkdir /data/svnbak -p 采用shell脚本的方式实现自动备份 #vim backup.sh #!/bin/bash log="/data/sv ...

  5. linux shell简单实现数据库自动备份

    以centos系统为例,实现数据库自动备份.1.写一个shell: 12 #! /bin/bashmysqldump -cp --user=root --password='123' dbName | ...

  6. Windows下Oracle数据库自动备份批处理脚本

    expdb命令版本 @echo off REM ########################################################### REM # Windows Se ...

  7. C#编写强大的SQL Server数据库自动备份服务

    数据库自动备份服务,带配置,还算可以吧 周末抽时间,编写了一个这样的工具,可以让,对数据库不了解或不熟悉的人,直接学会使用备份,省时省力,同样,我也将一份,通过脚本进行备份的,也奉献上来, 通过sql ...

  8. C# 编写的SqlServer 数据库自动备份服务,带配置,功能强大

    数据库自动备份服务,带配置,还算可以吧 周末抽时间,编写了一个这样的工具,可以让,对数据库不了解或不熟悉的人,直接学会使用备份,省时省力,同样,我也将一份,通过脚本进行备份的,也奉献上来, 通过sql ...

  9. MVC5中Model层开发数据注解 EF Code First Migrations数据库迁移 C# 常用对象的的修饰符 C# 静态构造函数 MSSQL2005数据库自动备份问题(到同一个局域网上的另一台电脑上) MVC 的HTTP请求

    MVC5中Model层开发数据注解   ASP.NET MVC5中Model层开发,使用的数据注解有三个作用: 数据映射(把Model层的类用EntityFramework映射成对应的表) 数据验证( ...

随机推荐

  1. 03 - Jmeter用户自定义变量CSV参数化以及断言的设置

    设置断言 咱们还是先看一个图吧,由下图可以看出接口是请求成功了,但是请求数量比较少,还是比较方便看的,但是jmeter既然是压测工具,那么肯定不会发这么点儿请求的,如果请求数量比较庞大的话,我们仅仅凭 ...

  2. CCNA 之 一 网络基础

    计算机概念 很早期的计算机是一个庞然大物,可能都有几层楼那么高,随着技术的发展.更新,体型就变得越来越小,也越来越普及. 这个时候计算机与计算机之间就需要数据交流和信息的共享,早期是美国那边主要用于大 ...

  3. eclipse的maven配置及本地仓库配置

    一.下载maven并解压 下载地址:http://maven.apache.org/download.cgi 解压后如下: 二.配置环境变量 配置MAVEN_HOME 再path中添加 安装成功 三. ...

  4. 对于nginx配置文件中的fastcgi_param相关参数的理解

    今天在ubuntu中搭建LNMP的时候,遇到了一个问题 在浏览器中访问.php文件的时候,nginx不能正常解析,页面只是空白,后来百度了一下,发现了问题 在nginx的配置文件nginx.conf中 ...

  5. 谁动了我的内存:php内存泄露,系统缓存消耗? 转摘:http://blog.csdn.net/tao_627/article/details/9532497

    http://www.laruence.com/2011/03/04/1894.html 前言:持续我一贯的标题党作风,说说例子解决方案,没有深入探讨. 情景:线上图片服务压缩的图片品质(100),缩 ...

  6. 并行开发 1.Parallel

    原文:8天玩转并行开发——第一天 Parallel的使用 随着多核时代的到来,并行开发越来越展示出它的强大威力,像我们这样的码农再也不用过多的关注底层线程的实现和手工控制, 要了解并行开发,需要先了解 ...

  7. 安装weblogic中间件_test

    小编对他还不是很了解,等了解的时候小编吧这句话删除(注意) 如果过程中有问题的话请联系 QQ:291562721 weblogic是ORACLE商家,他是一门中间件服务: 因为一些安全的原因,扫描发现 ...

  8. facenet 人脸识别(一)

    前言 已完成TensorFlow Object Detection API环境搭建,具体搭建过程请参照: 安装运行谷歌开源的TensorFlow Object Detection API视频物体识别系 ...

  9. AES-OZ745 OZ745 Zynq-7000 开发板与套件

    北京太速科技有限公司为广大合作单位特设海外代购业务,主要包括各类板卡.相机.传感器.仪器仪表.专用芯片等.代购业务仅收取基本的手续费. 北京太速科技有限公司在线客服:QQ:448468544 淘宝网站 ...

  10. nginx下TP3.2访问页面总是404

    这是我测试onethink用的配置 可以参考一下 server { listen 80; server_name onethink.dev www.onethink.dev; root /vagran ...