小编Bib*_*elo的帖子

来自标准输入的 Mongorestore

有人曾经设法从标准输入恢复 mongodump 吗?

我使用引用的命令生成了备份文件:

mongodump --archive > file
Run Code Online (Sandbox Code Playgroud)

但该参考资料从未解释存档的格式,或如何恢复它。有人说你必须从 stdin 注入它,但他们仍然是个谜,因为没有证据表明它实际上是可能的

事实上,我做了以下尝试,但没有成功:

cat file | mongorestore
mongorestore -vvvvv --archive < file
mongorestore -vvvvv --archive=file
Run Code Online (Sandbox Code Playgroud)

所有这些命令最终都会出现相同的错误:

Failed: stream or file does not appear to be a mongodump archive
Run Code Online (Sandbox Code Playgroud)

有关信息,我设法恢复了以经典方式生成的存档。

为什么我需要使用 --archive 到标准输出?

我的 mongodb 在 docker 里面。

我现在使用的选项在 docker创建备份文件,然后我使用 docker cp 命令将其复制到主机,因此我使用了所需空间的两倍(在它被删除到容器内之前)。

不幸的是,docker 没有来自主机的挂载,我无法(还)重新启动它以添加选项。我正在寻找一个快速的选择。

mongodb mongorestore mongodump docker

2
推荐指数
1
解决办法
2100
查看次数

标签 统计

docker ×1

mongodb ×1

mongodump ×1

mongorestore ×1