0
#!/bin/bash

host=${1-localhost}
port=${2-27017}
dbname=${3-ascq}

MONGOBKDIR=./mongo_data/ascq
echo "restore data from $MONGOBKDIR"

dbs=$(mongo $host:$port --eval 'printjson(db.adminCommand("listDatabases"))' | \
            grep -oP '"name" : "${dbname}\d*"' | \
            awk '{print $3}' | tr -d '"')

for i in $dbs
do
    echo "restoring:$i"
    mongorestore -h $host:$port -d $i --drop $MONGOBKDIR/
done

exit 0

${dbname} を grep で使用したいのですが、失敗しました。

4

2 に答える 2