前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >mongodb副本集的备份与恢复

mongodb副本集的备份与恢复

原创
作者头像
shirley
发布2019-07-21 18:13:41
2.2K0
发布2019-07-21 18:13:41
举报
文章被收录于专栏:进击的全栈进击的全栈
备份规则:每天凌晨进行备份。原因:1. oplogSize 设置得比较大(10000);2. 现网数据量比较小,所以能保证 oplog 可以记录一整天的数据而不被覆盖,因此只要一天备份一次即可。若当天的数据需要恢复,可直接从当前 oplog 中去恢复。
  • 说明
  • 备份
  • 备份恢复
  • 使用crontab定时备份
  • 参考资料
说明:

一、mongodb 版本:4.0.10

二、配置副本集的服务器:

服务器端口地址

默认角色

10.133.8.232:27017

primary

10.53.101.8:27017

secondary

10.165.4.200:27110

arbiter

备份
备份指令
代码语言:txt
复制
# 指令中加上副本集的名字mongors是为了从主节点进行备份
# 备份的文件夹以日期命名
folder=`date +%Y%m%d`
mongodump -h 'mongors/10.133.8.232:27017,10.53.101.8:27017' -u 'user' -p 'pwd' --oplog --gzip -o mongodb/dump/$folder --authenticationDatabase admin

mongodb 指令说明:

代码语言:txt
复制
-h:指定当前备份主机ip
-u:指定验证的用户名
-p:指定用户名对应的密码
--oplog:replica set或者master/slave模式专用。在备份过程中捕获oplog更改日志,以保持一致的时间点。该选项只对全库导出有效,所以不能指定-d选项。因为整个实例的变更操作都会集中在local库中的oplog.rs集合中。
--gzip:可选项。启用备份文件的内联压缩。
-o:指定备份的路径
--authenticationDatabase:认证数据库
--oplogReplay:用于备份恢复,重放oplog。
备份恢复
代码语言:txt
复制
# 数据库备份恢复,20190703是要恢复的备份所在的文件夹
# ./mongorestore -h 'mongors/10.133.8.232:27017,10.53.101.8:27017' -u 'user' -p 'pwd' --oplogReplay --gzip /data/mongodb/dump/20190703
使用crontab定时备份
步骤如下:
  1. 将备份指令写入linux脚本。# 指定使用/bin/bash来解释执行 0 4 * * * /bin/bash /data/sh/mongodb.backup.sh >/dev/null 2>&1 &
  2. 登录10.133.8.232服务器,进入/etc文件夹。
  3. 通过rpm -qa | grep crontab检查是否安装了crontab,若未安装,进行安装。
  4. 使用 crontab -e命令进入 crontab 编辑页,编辑定时任务。比如每天凌晨4点进行备份,指令如下:
  5. 保存即可,不需要重启。
  6. 检查crontab 的运行状态:service crond status,若 Active: active (running)则说明正在运行。(可选)
参考资料
  1. mongodb官网
  2. mongodb4.0备份与恢复
  3. mongodb 备份命令和还原命令
  4. Linux 定时任务crontab_014
  5. Linux Shell 1>/dev/null 2>&1 含义

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 备份规则:每天凌晨进行备份。原因:1. oplogSize 设置得比较大(10000);2. 现网数据量比较小,所以能保证 oplog 可以记录一整天的数据而不被覆盖,因此只要一天备份一次即可。若当天的数据需要恢复,可直接从当前 oplog 中去恢复。
  • 说明:
  • 备份
    • 备份指令
    • 备份恢复
    • 使用crontab定时备份
      • 步骤如下:
      • 参考资料
      相关产品与服务
      云数据库 MongoDB
      腾讯云数据库 MongoDB(TencentDB for MongoDB)是腾讯云基于全球广受欢迎的 MongoDB 打造的高性能 NoSQL 数据库,100%完全兼容 MongoDB 协议,支持跨文档事务,提供稳定丰富的监控管理,弹性可扩展、自动容灾,适用于文档型数据库场景,您无需自建灾备体系及控制管理系统。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档