数据对我们现在应用系统越来越重要,这就驱使我们必须去做的一件事就是冗余备份,保证数据的完整性和可恢复性。既然如此重要,我们就必须去备份,但如果手动去做的话,不仅浪费时间,也可能导致数据丢失。最好的方式当然是自动实现备份,本次主要说mongodb数据库的自动备份。

实现思路:

1)创建备份文件存放的文件夹

2)编译脚本实现备份

3)设置定时任务实现定时备份

1、创建mongodb备份目录

mkdir -p /mongodb/data/mongodb_bak/mongodb/data/mongodb_bak (临时备份文件存放地址)

mkdir -p /mongodb/data/mongodb_bak/mongodb/data/mongodb_list  (备份文件存放地址)

2、新建mongodb数据库备份脚本

1.   #!/bin/bash
2.  #backup MongoDB
3.
4.  #mongodump命令路径
5.  DUMP=/usr/local/mongodb/bin/mongodump
6.  #临时备份目录
7.  OUT_DIR=/mongodb/data/mongodb_bak/mongodb_bak_now
8.  #备份存放路径
9.  TAR_DIR=/mongodb/data/mongodb_bak/mongodb_bak_list
10. #获取当前系统时间
11. DATE=`date +%Y_%m_%d`
12. #数据库账号
13. DB_USER=user
14. #数据库密码
15. DB_PASS=123
16. #DAYS=15代表删除15天前的备份,即只保留近15天的备份
17. DAYS=15
18. #最终保存的数据库备份文件
19. TAR_BAK="mongodb_bak_$DATE.tar.gz"
20.
21. cd $OUT_DIR
22. rm -rf $OUT_DIR/*
23. mkdir -p $OUT_DIR/$DATE
24. #备份全部数据库
25. $DUMP -h 15.62.32.112:27017 -u $DB_USER -p $DB_PASS --authenticationDatabase "admin" -o $OUT_DIR/$DATE
26. #压缩为.tar.gz格式
27. tar -zcvf $TAR_DIR/$TAR_BAK $OUT_DIR/$DATE
28. #删除15天前的备份文件
29. find $TAR_DIR/ -mtime +$DAYS -delete
30.
31. exit

3、修改文件属性

chmod +x mongoDB_bak.sh

4、修改/etc/crontab,添加定时任务

vi /etc/crontab

#每星期六晚上0:0开始执行MongoDB数据库备份脚本
0 0 * * 6 root /mongodb/data/mongodb_bak/mongoDB_bak.sh

mongodb数据库自动备份相关推荐

  1. centos下MongoDB数据库自动备份(linux)

    centos下没有可视化工具,这个时候对MONGODB数据库进行备份,我们需要借助脚本和定时任务来进行. 1.创建MongoDB备份目录 我们创建一个当前备份和备份列表文件夹 mkdir -p /da ...

  2. 用shell脚本实现MongoDB数据库自动备份

    一.创建MongoDB备份目录 用来存放数据 mkdir -p /data/mongodb_bak/mongodb_bak_now mkdir -p /data/mongodb_bak/mongodb ...

  3. Linux oracle数据库自动备份自动压缩脚本代码

    Linux oracle数据库自动备份自动压缩脚本代码 Linux oracle数据库备份完成后可以自动压缩脚本代码. 复制代码代码如下: #!/bin/bash #backup.sh #edit: ...

  4. 挺好用的SQLSERVER数据库自动备份工具SQLBackupAndFTP(功能全面)

    挺好用的SQLSERVER数据库自动备份工具SQLBackupAndFTP(功能全面) 原文:挺好用的SQLSERVER数据库自动备份工具SQLBackupAndFTP(功能全面) 挺好用的SQLSE ...

  5. oracle数据库自动备份

    oracle数据库自动备份 环境:windows server2008操作系统,oracle 10.2.0数据库 工具:windows命令窗口 ,windows任务计划 命令:exp  profile ...

  6. mysql学习之旅-数据库自动备份-测试环境搭建

    #终于知道什么叫不会走先会跑了,刚开始接触第一个case就是数据库自动备份,我可是都没安装过啊?!   发完牢骚开始干活 首先,因为业务已经上线,不能随便动,先搭建测试环境吧 规划一下 版本:mysq ...

  7. 数据库自动备份还原成新库脚本

    数据库自动备份还原成新库脚本 BACKUP DATABASE [源数据库名] TO DISK = N'G:\testbackup.bak' WITH COMPRESSION,NOUNLOAD , NA ...

  8. delphi Oracle导出多个表,Oracle数据库自动备份工具(Delphi源码)

    Oracle数据库自动备份工具(Delphi源码) 下载地址:http://www.blogjava.net/Files/96sd2/OraSvr.rar 『OracleBackupService』简 ...

  9. db2数据备份到mysql_DB2数据库自动备份详解

    DB2数据库自动备份详解 由脱机备份转换为联机备份: 在db2CMD下执行 1.连接需要备份的数据库:db2 connect to数据库名称 2.修改自动数据库备份(AUTO_DB_BACKUP)参数 ...

最新文章

  1. Docker+Jenkins持续集成环境(3)集成PMD、FindBugs、Checkstyle静态代码检查工具并邮件发送检查结果...
  2. @NotEmpty,@NotNull和@NotBlank的区别
  3. CString类的用法总结
  4. C++/CLI中的资源清理(Destructor,Finalizer)
  5. 微信群「斗图」总输,Python助我超神!
  6. Typescript常见三种函数类型
  7. ImageView缩放选项
  8. C#中split分隔字符串的应用
  9. 查看Redis集群所有节点内存工具
  10. element icon图标方向旋转
  11. 《南溪的目标检测学习笔记》——COCO数据集的学习笔记
  12. SpringBoot自定义注解接收json参数
  13. 传智播客总裁黎活明“传智专修学院成立暨揭牌仪式”演讲实录
  14. android蓝牙红外,单片机蓝牙+红外学习转发模块源程序 实现用安卓手机控制所有家电...
  15. Python的eval函数详解
  16. TCP/IP原理浅析
  17. 桃词典 Peach Dictionary 简易英语词典app开发 安卓软件开发 Part 6
  18. open-vot:PyTorch 实现 Siamese-FC
  19. Docker - 重新启动关闭的容器
  20. vue 封装公用函数

热门文章

  1. CentOS如何拓展swap分区
  2. 投资理财里的必然和概率
  3. R语言生存分析可视化分析
  4. 利用U盘重新安装XP系统
  5. 设计思维从1到100
  6. 一维卷积处理时间序列
  7. 图像处理保研面试_详解保研面试的那些事
  8. wex5 mysql闪退_WeX5软件里无法启动MySQL管理工具
  9. ADB向手机安装APK失败
  10. 海康威视(HIKViSION)2009年校园招聘笔试题-杭州(1)