使用Shell脚本mongorestore的位置参数过多

时间:2019-03-21 09:29:00

标签: mongodb bash mongorestore

由于数据库中有数百个集合,因此我尝试一次使用具有一个集合的shell脚本来还原mongo数据库。在数据库中,我们有一些集合的名称中有空格。对于名称中带有空格的集合,我收到错误位置参数过多

Shell脚本:

#!/bin/bash
input=$1
backup_path="/home/xyz/Downloads/2019-01-25-110001/db/"
while IFS= read -r col_name
do
  echo $col_name
#  echo "mongorestore --db postedit-db-0-4 --collection $col_name $backup_path/$col_name.bson"
  mongorestore --db postedit-db-0-4 --collection $col_name $backup_path/$col_name.bson
done < "$input"

如果我在命令行中使用反斜杠转义了这些集合名称,则可以使用,但不能从shell脚本中获取。

注意:如果我一次对所有集合进行mongorestore,则会出现“打开文件过多错误”,这是一个完全不同的问题,因此我正在使用此方法来还原数据库。

0 个答案:

没有答案