从google云存储流中恢复' mongodb '备份



由于磁盘空间限制,我想直接从google云存储对象恢复一个非常大的数据库转储,而不必下载并保存到本地文件。

我有mongodump(有和没有--gzip)产生的数据库转储

当我尝试使用以下命令将数据库转储数据管道到mongorestore时(我指的是流传输)

gsutil cp - gs://<bucket>/<object_path> | mongorestore --uri=<connection_uri> --archive

进程卡在以下输出

Copying from <STDIN>...
/ [0 files][    0.0 B/    0.0 B]

我不确定是gsutil还是mongorestore问题

该文件是一个有效的mongodb文件,因为我试图下载一个小的数据库转储,我可以使用mongorestore --uri=<connection_uri> --archive=<local_file_path>成功地恢复它

gsutil version: 4.57

mongorestore version: 100.2.0

gsutil命令中的横线位于源参数的位置,而不是目的地,因此它正在尝试从STDIN复制到gs://路径(这会覆盖您的对象!)。

如果你想把你的GCS对象的内容管道到另一个程序,你可以使用gsutil cp,并把destination参数设为连字符,或者更简单地使用gsutil cat gs://...

最新更新