mongodb数据库备份
来源:互联网 发布:京都小众景点.知乎 编辑:程序博客网 时间:2024/06/07 14:26
1. mongodb备份
天有不测风云,数据库的备份非常重要,出问题时需要通过备份来恢复数据。
备份常用方法有下面两种:
2. 直接copy数据目录
mongodb的所有数据放在数据目录下, 默认为 /data/db/ .
要备份数据库,直接把数据目录下面的所有文件copy一份就可以了。
但是这个需要数据库服务先停止,如果服务在运行时直接备份这个目录,部分数据还在缓冲区,很有可能文件有破损。
对于正在线上运行的服务来说,停止数据库备份是不可能的,下面就是不停止服务来备份。
3. mongodump
mongodump是mongodb自带的工具, 能在运行时备份。
mongodump对运行的Mongodb做查询,将查询到的文档写入磁盘。
3.1 mongodump运行选项
可以通过命令行查询他的选项参数
./bin/mongodump --help
-h [ --host ] arg 运行的host
--port arg 运行的端口
-u [ --username ] arg username
-p [ --password ] arg password
-p [ --password ] arg password
--dbpath arg 直接访问mongodb的数据库目录来备份,
会锁定数据库目录,如果mongod正在运行时不能使用这个参数
-d [ --db ] arg database to use 要备份的数据库,为空表示所有数据库
-c [ --collection ] arg collection to use (some commands) 指定集合,为空表示所有
-o [ --out ] arg (=dump) output directory or "-" for stdout 备份目录保存的地址
-q [ --query ] arg json query 可以指定查询
-c [ --collection ] arg collection to use (some commands) 指定集合,为空表示所有
-o [ --out ] arg (=dump) output directory or "-" for stdout 备份目录保存的地址
-q [ --query ] arg json query 可以指定查询
如:
./bin/mongodump --host 127.0.0.1 --port 9980 --db news --out /home/work/backup/;如果为副本集 replica set 方式, 则host为 副本集名称和host,端口
mongodump --host repl0/mongo0.example.net,mongo0.example.net:27018,mongo1.example.net,mongo2.example.net
3.2 备份脚本
使用计划任务来备份数据库,每小时备份一次:
生成的备份目录为:
/home/gang/backup/mongodb/2014-03-29-10
shell脚本:
#! /bin/sh# @author bj1602#163.com# @file backup.sh# @desc 备份mongodb,每小时执行一次set -xhostname="127.0.0.1";port="9980";db="news";log_date=`date +"%F-%H"`;log_dir="/home/gang/backup/mongodb/$log_date";mongo_dir="/home/gang/mongo/";mkdir -p $log_dir;echo `date +"%F %H:%M:%S"`;cd $mongo_dir;./bin/mongodump --host $hostname --db $db --port $port --out $log_dir;echo `date +"%F %H:%M:%S"`;
0 0
- newlisp 备份mongodb数据库
- mongodb数据库备份
- mongodb数据库备份
- mongodb备份数据库
- mongoDB备份恢复数据库
- mongodb 之 备份数据库
- mongodb数据库的备份
- MongoDB数据库备份
- mongodb数据库自动备份
- mongoDB 数据库备份与恢复
- mongodb数据库备份与恢复
- [mongodb]数据库备份与还原
- [mongodb]数据库备份与还原
- MongoDB数据库备份与恢复
- mongoDB 导入导出备份数据库
- TODO:MongoDB MySQL数据库备份
- Mongodb数据库备份和还原
- MongoDB 数据库备份与恢复
- Servlet技术的自我理解之三:Servlet运行原理及Servlet的加载实例化
- MySQL优化方案
- Python doc v2.7.6 ------ 5.2.10.1. Generator-iterator methods
- 双向循环链表C++实现(完整版)
- java static 总结
- mongodb数据库备份
- Mina 在项目中的位置
- 关于php5连接sqlite的问题
- 四翼——硬件小结
- Maven 工程错误Failure to transfer org.codehaus.plexus:plexus-io:pom:1.0,Failure to transfer org.codehaus
- 深入理解SELinux SEAndroid(第二部分)
- jquery选择器操作二
- poj1844
- rhel6.5 报unrecognized service错误