我想直接从google云存储对象恢复一个非常大的数据库转储,而不必下载并保存到本地文件,因为磁盘空间的限制。
我有由mongodump生成的数据库转储(使用和不使用--gzip)
当我尝试使用以下命令将数据库转储数据传输到mongorestore时(我引用了Streaming transfers)
gsutil cp - gs://<bucket>/<object_path> | mongorestore --uri=<connection_uri> --archive该进程在以下输出处停滞
Copying from <STDIN>...
/ [0 files][ 0.0 B/ 0.0 B]我不确定是gsutil问题还是mongorestore问题
这个文件是一个有效的mongodump文件,因为我试图下载一个小的数据库转储文件,并且可以使用mongorestore --uri=<connection_uri> --archive=<local_file_path>成功地恢复它
gsutil版本: 4.57
mongorestore版本: 100.2.0
发布于 2021-01-17 09:43:55
gsutil命令中的破折号位于源参数的位置,而不是目标位置,因此它尝试从STDIN复制到gs://路径(这将覆盖您的对象!)。
如果想通过管道将GCS对象的内容传递给另一个程序,可以使用gsutil cp并将目标参数设置为破折号字符,或者更简单地说,只需使用gsutil cat gs://...
https://stackoverflow.com/questions/65752217
复制相似问题