mongodb副本集Replica Set数据库备份和还原

副本集全量备份

# mongors是副本集的名字,为了从主节点进行备份
mongodump -h 'mongors/192.168.100.1:27017,192.168.100.2:27017' -u 'username' -p 'pwd' --oplog --authenticationDatabase admin --gzip -o ${备份目录绝对路径}

mongodump 指令说明

-h:指定当前备份主机ip
-u:指定验证的用户名
-p:指定用户名对应的密码
--oplog:replica set或者master/slave模式专用。在备份过程中捕获oplog更改日志,以保持一致的时间点。该选项只对全库导出有效,所以不能指定-d选项。因为整个实例的变更操作都会集中在local库中的oplog.rs集合中。
--gzip:可选项。启用备份文件的内联压缩。
-o:指定备份的路径
--authenticationDatabase:认证数据库
--oplogReplay:用于备份恢复,重放oplog。

备份恢复

# 数据库备份恢复,${folder}是要恢复的备份所在的文件夹
mongorestore -h 'mongors/192.168.100.1:27017,192.168.100.2:27017' -u 'username' -p 'pwd' --oplogReplay --gzip ${folder}

使用crontab定时备份

步骤如下:
将备份指令写入linux脚本。

# 指定使用/bin/bash来解释执行
0 4 * * * /bin/bash /data/sh/mongodb.backup.sh >/dev/null 2>&1 &

登录服务器,进入/etc文件夹。
通过 rpm -qa | grep crontab 检查是否安装了crontab,若未安装,进行安装。
使用 crontab -e命令进入 crontab 编辑页,编辑定时任务。比如每天凌晨4点进行备份。
保存即可,不需要重启。
检查crontab 的运行状态:service crond status,若 Active: active (running)则说明正在运行。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章