我在cron中使用下面的sh脚本,以便为我的数据库保存备份。最近我在“db”数据库上添加了一个DbOwner,转储无效。我的问题是,如何添加新的数据库DbOwner用户名和密码,允许在数据库上进行读/写。
非常感谢提前!!
#!/bin/bash
MONGO_DATABASE="db"
APP_NAME="app"
MONGO_USERNAME="test"
MONGO_PASSWORD="test"
MONGO_HOST="127.0.0.1"
MONGO_PORT="27017"
TIMESTAMP=`date +%F-%H%M`
MONGODUMP_PATH="/usr/bin/mongodump"
BACKUPS_DIR="/home/test/backup/$APP_NAME"
BACKUP_NAME="$APP_NAME-$TIMESTAMP"
# mongo admin --eval "printjson(db.fsyncLock())"
# $MONGODUMP_PATH -h $MONGO_HOST:$MONGO_PORT -d $MONGO_DATABASE
$MONGODUMP_PATH -d $MONGO_DATABASE
# mongo admin --eval "printjson(db.fsyncUnlock())"
mkdir -p $BACKUPS_DIR
mv dump $BACKUP_NAME
tar -zcvf $BACKUPS_DIR/$BACKUP_NAME.tgz $BACKUP_NAME
rm -rf $BACKUP_NAME
答案 0 :(得分:0)
假设您已使用用户名 test 和密码 test 创建了DbOwner,并授予其readWrite权限
[
{
"user" : "test",
"db" : "db",
"roles" : [
{
"role" : "readWrite",
"db" : "db"
}
]
}
]
然后你只需要为mongodump指定用户名和密码参数:
$MONGODUMP_PATH -u $MONGO_USERNAME -p $MONGO_PASSWORD -d $MONGO_DATABASE