首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何定时备份 MongoDB oplog

前言 MongoDB复制集通过oplog进行同步,但是4.4之前oplog只能通过参数设置固定大小,无法像mysql binlog那样指定保留天数。...脚本逻辑 我写了一个小脚本,每隔5分钟执行1次,用于备份MongoDB实例的oplog,脚本逻辑如下: 1 检测是否存在last_oplog_ts文件 如果文件不存在则创建,并写入rs.printReplicationInfo...3 执行oplog备份 如果第一次mongodump执行失败,间隔60s后再次尝试,如果还失败则退出 对备份出的oplog目录进行打包压缩。...每次执行脚本都会用当前的oplog first event time和其进行比较,这个差值t1可以粗略看做oplog的"可用容量":即按照当前oplog生成速度,上次oplog备份后生成的oplog,将在...如果t1小于阈值,则更新临时文件并执行1次oplog备份。 oplog本身是幂等的,每个备份文件的时间段即便有重叠,在重放的时候也能保证数据完整。 3.

1.5K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    mysql定时备份任务

    简介 在生产环境上,为了避免数据的丢失,通常情况下都会定时的对数据库进行备份。而Linux的crontab指令则可以帮助我们实现对数据库定时进行备份。.../var/backups/mysql/$(date +%Y%m%d_%H%M%S).sql 备份文件,后面是文件名的格式 如果你没什么要求,单纯的只是想要备份,那么上面那个命令就可以帮你进行定时备份...如:晚上8点进行定时备份,但是却在晚上9点drop database,那么晚上8点到晚上9点这一个小时之内的数据却没有备份到。这时候就要使用binlog日志了。...晚上8点进行定时备份,但是却在晚上9点drop database,那么晚上8点到晚上9点这一个小时之内的数据却没有备份到。。...总结 因为mysql定时备份是在生产环境上必须的任务。是很常用的。所以我就迫不及待的写博客。当然也很感谢我同事的帮助。这篇文章已经写了三天了,因为我也是在不断地试错,不断的更新文章。

    1.9K20

    MySQL定时备份方案

    本片文章介绍的方案是利用Linux自身的crontab定时任务功能,定时执行备份数据库的脚本。...技术要点: 数据库备份dump命令 shell脚本 Linux定时任务crontab 数据备份dump 数据库都有一个导出数据库内数据和结构的命令,就是备份。.../加脚本名称 chmod命令参数含义-- + 代表添加某些权限 x 代表可执行权限 定时任务crontab crontab是Linux自带的一个定时任务功能,我们可以利用它每天凌晨执行一次dump_mysql.sh...crontab用法: crontab -l 查看定时任务列表 crontab -e 编辑(新增/删除)定时任务 运行crontab -e命令,打开一个可编辑的文本,输入00 01 * * * /app/...内容解释: 00 01 * * * /app/dump_mysql.sh 分两部分看, 第一部分00 01 * * * 是定时任务的周期,第二部分/app/dump_mysql.sh到时间做的事情。

    1.8K10

    MongoDB备份与恢复

    一、Mongodb的导入与导出 1.1、导出工具:mongoexport 概念: mongoDB中的mongoexport工具可以把一个collection导出成JSON格式或CSV格式的文件。...,如:db_test -o:备份的数据存放位置,如:~\dump,当然该目录需要提前建立,在备份完成后,系统自动在dump目录下建立一个db_test目录,这个目录里面存放该数据库实例的备份数据。...2.2 恢复工具 mongorestore 概念: mongorestore是Mongodb备份中恢复数据的工具,它主要用来获取mongodump的输出结果,并将备份的数据插入到运行的Mongodb中...directoryperdb dbdirectory Eg: # mongorestore --host=10.0.0.25 --port=27017 --db ztjy --dir=ztjy/ 参数说明: -h:MongoDB...所在服务器地址 -d:需要恢复的数据库名称,如:db_test,当然这个名称可以不同于备份的时候,比如new_db --directoryperdb:备份数据文件所在位置,如:~\dump\db_test

    1.5K50
    领券