通过 bsondump 命令工具 解析备份产生的bson文件
bsondump命令是将BSON格式的文件转换为可读性更强的文件格式,例如转为为JSON 格式的文档,bsondump默认转换为json格式的文档。
当通过mongodump命令进行备份时,如果有参数 --oplog,会在备份路径下产生一个oplog.bson文件。
这个文件是bson格式,没有办法直接查看的,打开乱码,
例如,tail -3 oplog.bson,打开 如下:

所以,我们可以先通bsondump将bson转换为json格式。
bsondump添加参数--outFile还可以,将转换后的数据以文件的形式输出出来。
例如,在mongodb可执行文档bin下执行,将/QQ/back/20180416/oplog.bson转换为json格式,输出的文件为/QQ/back/20180416/oplogtest01.json
执行命令如下:
./bsondump --quiet /QQ/back//oplog.bson --outFile /QQ/back//oplogtest01.json
转换后的oplogtest01.json可以直接查看。
如下:

现在回顾一下,我们之前实现的MongoDB增量备份,其导出数据是通过mongodump命令导出 -d local -c oplog.rs 的数据,产生的文件也包含oplog.rs.bson
导出的文件如下

这种bson文件的读取,也是需要bsondump转换的。
注意事项:
1:mongodump 备份时,如果有压缩参数 --gzip ,则备份生成的bson文件,通过bsondump不可以正常解析,报错:
0 objects found;unexpected EOF
错误截图如下:

2:转换后,增加可读性的好处是方便定位操作指令在什么时候产生的。例如,如果开发同学告诉我们在昨天的16点左右,有一个update误操作,具体的时间点很难定位。这时候,我们虽然有增量备份,如果你不知道具体的时间点,具体的 "ts" 数据,是不好恢复的。
而转换后,我们可以根据相关的命令,在转换后的文件中查找。
本文版权归作者所有,未经作者同意不得转载,谢谢配合!!!
通过 bsondump 命令工具 解析备份产生的bson文件的更多相关文章
- 命令行工具解析Crash文件,dSYM文件进行符号化
备份 文/爱掏蜂窝的熊(简书作者)原文链接:http://www.jianshu.com/p/0b6f5148dab8著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”. 序 在日常开发 ...
- Python 命令行解析工具 Argparse介绍
最近在研究pathon的命令行解析工具,argparse,它是Python标准库中推荐使用的编写命令行程序的工具. 以前老是做UI程序,今天试了下命令行程序,感觉相当好,不用再花大把时间去研究界面问题 ...
- python之命令行解析工具argparse
以前写python的时候都会自己在文件开头写一个usgae函数,用来加上各种注释,给用这个脚本的人提供帮助文档. 今天才知道原来python已经有一个自带的命令行解析工具argparse,用了一下,效 ...
- 2019-9-2-C#命令行解析工具
title author date CreateTime categories C#命令行解析工具 lindexi 2019-09-02 12:57:37 +0800 2018-2-13 17:23: ...
- python命令行解析工具argparse模块【1】
argpaser是python中很好用的一个命令行解析模块,使用它我们可以很方便的创建用户友好型命令行程序.而且argparse会自动生成帮助信息和错误信息. 一.示例 例如下面的例子,从命令行中获取 ...
- Shell脚本字符串匹配及日常命令工具 - 用法总结(技巧指南)
Shell提供了很多字符串和文件处理的命令,如awk.expr.grep.sed等命令,还有文件的排序.合并和分割等一系列的操作命令.下面重点总结下Shell字符串处理.文本处理以及各类命令及函数用法 ...
- 命令行解析Crash文件
做了快两年的开发了,没有写过博客,最近公司app上架,程序崩溃被拒绝了,可是给的crash文件,又看不出哪里的问题,网上各种搜,终于找到了解决的办法,想想还是写个博客吧,希望给哪些也遇到这类问题的朋友 ...
- Linux资源监控命令/工具(综合)
目录: ps pstree pidof top free uptime ifuser lsof mpstat vmstst pidstat iostat iotop watch sar 1.ps 1) ...
- Windows命令行command的Shell命令详细解析和语法
CMD命令大全及详细解释和语法 Microsoft Windows XP [版本 5.1.2600] 有关某个命令的详细信息,请键入 HELP 命令名 ASSOC 显示或修改文件扩展名关联. A ...
随机推荐
- MYSQL数据库设计规范与原则
MYSQL数据库设计规范 1.数据库命名规范 采用26个英文字母(区分大小写)和0-9的自然数(经常不需要)加上下划线'_'组成; 命名简洁明确(长度不能超过30个字符); 例如:user, stat ...
- sqlserver 日期与字符串之间的转换
字符转换为日期时,Style的使用 --1. Style=101时,表示日期字符串为:mm/dd/yyyy格式SELECT CONVERT(datetime,'11/1/2003',101)--结果: ...
- mysql 创建用户
以管理员方式打开cmd命令提示符进入MySql的Bin目录下 一.以管理员身份登录mysql 密码不隐藏的登录方式:mysql -u root -p 123456 密码隐藏的登录方式:mysql -u ...
- RESTful规范
一. 什么是RESTful REST与技术无关,代表的是一种软件架构风格,REST是Representational State Transfer的简称,中文翻译为“表征状态转移” REST从资源的角 ...
- JSONUtils.toJSONString的一个坑
JSONUtils.toJSONString(null); //返回一个为"null"的字符串 这样会导致一个结果就是StringUtils.isBlank判断后,会为false ...
- 你不知道的JavaScript--Item8 函数,方法,构造函数调用
1.函数调用 Function绝对是JavaScript中的重中之重.在JavaScript中,Function承担了procedures, methods, constructors甚至是class ...
- spawn-fcgi运行fcgiwrap
http://linuxjcq.blog.51cto.com/3042600/718002 标签:休闲 spawn-fcgi fcgiwarp fcgi 职场 原创作品,允许转载,转载时请务必以超链接 ...
- 通过pycharm的Database设置进行数据库的可视化
pycharm是一个很好的IDE,它还有一个功能直接通过这个IDE连接数据库,然后对数据库进行相关的操作,这样我们可以不用navicat for mysql这样的可视化工具了. 输入账号密码数据库 ...
- css 模拟radio的样式
1.input 默认的 type 为 radio的样式,在具体场合中的改造 默认的样式这样: 但是我要这样的: 这样看来是不是比原来的好看多了. 2.优化radio的样式 <span class ...
- 第三方库API接口
第三方库API接口 InfluxDB提供了各种语言的Http API接口的封装.具体可以看这里: https://docs.influxdata.com/influxdb/v0.10/clients/ ...