Mongodump 存档记录数
Mongodump archive record count
我正在研究需要防弹的文档备份解决方案。我每周 运行 我的备份,并且我能够在实际转储之前进行试运行以确定我要转储多少文档。所以,我有一个目标数字。
问题是,当我实际上 运行 mongo 转储时,它将所有输出写入控制台,而不是标准输出。所以我无法将输出捕获到一个变量,找到它转储的文档数量,并与我的目标数量进行比较。
我也看过,但没有看到任何方法可以使用 mongorestore 在事后获取文件中的记录数。
不,wc -l 不起作用。
所以,这是我在 mongo 转储期间看到的写入控制台的内容:
2022-03-03T22:25:15.069+0000 writing mydb.records to archive '/opt/weekly/records_2022-02-13'
2022-03-03T22:25:17.529+0000 mydb.records 101
2022-03-03T22:25:22.510+0000 mydb.records 1675
2022-03-03T22:25:22.513+0000 done dumping mydb.records (1675 documents)
以上是控制台,我无法从我的脚本中捕获它(即 varname=$(mongodumpcommandhere) ),我也无法将输出重定向到 .log文件,然后清除内容。
所以,有 mongo 专家知道我如何做我想做的事吗?当然,我已经在检查 mongodump 命令的退出状态,只是想多走一步,并把文档计数也排成一行。
我可以安装一个空白数据库并加载转储并对文档进行计数,但这似乎有点远,只是为了获得转储中的文档数量。寻找不那么暴力的东西。
哦,这是一个处理所有逻辑的 bash 脚本。
mongodumpcommandhere
可能正在写入标准错误而不是标准输出。如果是的话
varname=$(mongodumpcommandhere 2>&1)
会起作用。如果它不起作用,则可能意味着该命令正在直接写入终端。这是一件坏事,但有办法捕捉它。
我正在研究需要防弹的文档备份解决方案。我每周 运行 我的备份,并且我能够在实际转储之前进行试运行以确定我要转储多少文档。所以,我有一个目标数字。
问题是,当我实际上 运行 mongo 转储时,它将所有输出写入控制台,而不是标准输出。所以我无法将输出捕获到一个变量,找到它转储的文档数量,并与我的目标数量进行比较。
我也看过,但没有看到任何方法可以使用 mongorestore 在事后获取文件中的记录数。
不,wc -l 不起作用。
所以,这是我在 mongo 转储期间看到的写入控制台的内容:
2022-03-03T22:25:15.069+0000 writing mydb.records to archive '/opt/weekly/records_2022-02-13'
2022-03-03T22:25:17.529+0000 mydb.records 101
2022-03-03T22:25:22.510+0000 mydb.records 1675
2022-03-03T22:25:22.513+0000 done dumping mydb.records (1675 documents)
以上是控制台,我无法从我的脚本中捕获它(即 varname=$(mongodumpcommandhere) ),我也无法将输出重定向到 .log文件,然后清除内容。
所以,有 mongo 专家知道我如何做我想做的事吗?当然,我已经在检查 mongodump 命令的退出状态,只是想多走一步,并把文档计数也排成一行。
我可以安装一个空白数据库并加载转储并对文档进行计数,但这似乎有点远,只是为了获得转储中的文档数量。寻找不那么暴力的东西。
哦,这是一个处理所有逻辑的 bash 脚本。
mongodumpcommandhere
可能正在写入标准错误而不是标准输出。如果是的话
varname=$(mongodumpcommandhere 2>&1)
会起作用。如果它不起作用,则可能意味着该命令正在直接写入终端。这是一件坏事,但有办法捕捉它。