博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Mongo自动备份
阅读量:5060 次
发布时间:2019-06-12

本文共 1523 字,大约阅读时间需要 5 分钟。

功能说明

  • 每天凌晨3点备份当前状态下的mongo数据,保存的日期为前一天,如:2015年11月12号凌晨保存的数据目录名为20151111。

  • 然后每天都会删除四天之前所备份的数据(意思是仅保留最近三天的备份数据)。

具体实现

  • 执行备份的脚本:backup.bat
#!/bin/bash#存放备份数据的路径targetpath='/home/sam/mongodb/'#获取昨天的日期nowtime=$(date -d '-1 days' +"%Y%m%d")#如果昨天的文件不存在if [ ! -d ${targetpath}/${nowtime}/ ]then  #创建昨天的数据文件夹  mkdir ${targetpath}/${nowtime}fi#备份数据到指定文件夹mongodump -h 127.0.01 -o ${targetpath}/${nowtime}
  • 执行删除的脚本:remove.bat
#!/bin/bash#存放备份数据的路径targetpath='/home/sam/mongodb/'#获取前第四天的日期nowtime=$(date -d '-4 days' +"%Y%m%d")#如果该文件夹存在if [ -d ${targetpath}/${nowtime}/ ]then  #删除该文件夹  rm -rf ${targetpath}/${nowtime}fi
  • 执行恢复数据的脚本:restore.bat
#!/bin/bash#存放备份数据的路径targetpath='/home/sam/mongodb/'#获取前第一天的日期time1=$(date -d '-1 days' +"%Y%m%d")#获取前第二天的日期time2=$(date -d '-2 days' +"%Y%m%d")#获取前第三天的日期time3=$(date -d '-3 days' +"%Y%m%d")#如果存在数据if [ -d ${targetpath}/${time1}/ ]then  #恢复数据  mongorestore ${targetpath}/${time1}/  #结束脚本  exitfi#如果存在数据if [ -d ${targetpath}/${time2}/ ]then  #恢复数据  mongorestore ${targetpath}/${time2}/  #结束脚本  exitfi#如果存在数据if [ -d ${targetpath}/${time3}/ ]then  #恢复数据  mongorestore ${targetpath}/${time3}/  #结束脚本    exitfi
  • 恢复数据脚本说明
#恢复所有数据库到mongodb中:mongorestore ${targetpath}/${time3}/#恢复指定数据库:mongorestore -d apk ${targetpath}/${time3}/apk/
  • 添加计划任务:crontab -e (看不懂这里请百度crontab)
#每天凌晨3点执行backup.bat0 3 * * * /home/sam/mongodb/bat/backup.bat#每天凌晨3点执行remove.bat0 3 * * * /home/sam/mongodb/bat/remove.bat

提示:记得给你的bat文件获取权限: sudo chmod 777 ./backup.bat (不一一写出来了)。

  • 文章参考:

转载于:https://www.cnblogs.com/sanmu083/p/5591209.html

你可能感兴趣的文章
职业资格证书查询
查看>>
JMeter学习-005-JMeter 主要组件概要介绍及执行顺序(转载)
查看>>
墨菲定理实战
查看>>
自定义AutoCompleteTextView
查看>>
LINQ之路(2):LINQ to SQL本质
查看>>
(转载)winform图片标尺控件
查看>>
day 56 linux的安装python3 ,虚拟环境,mysql ,redis
查看>>
collectd+infludb+grafana实现tomcat JVM监控
查看>>
【转】Nginx配置location总结及rewrite规则写法
查看>>
2016年云堆栈的市场增长状况
查看>>
html超文本标记语言的由来
查看>>
PAT 1095 Cars on Campus
查看>>
cesium编程入门(七)3D Tiles,模型旋转
查看>>
hive数据类型
查看>>
设计模式笔记——Strategy
查看>>
手动从Spring中获取指定对象
查看>>
中缀表达式转后缀表达式,以及计算结果.
查看>>
Oracle的安装与卸载
查看>>
(转载)CentOS: 开放80、22、3306端口操作
查看>>
[HDU] 1074 Doing Homework (NP性质的DP,远没有过去的自己写得好了)
查看>>