我应该使用什么命令来创建我的数据库的MongoDB转储?


当前回答

此命令将以json和bson格式转储给定的数据库。

mongodump -d <database name> -o <target directory>

其他回答

要转储数据库进行备份,可以在终端上调用此命令

mongodump --db database_name --collection collection_name

要将备份文件导入mongodb,可以在终端上使用以下命令

mongorestore --db database_name path_to_bson_file

此命令将以json和bson格式转储给定的数据库。

mongodump -d <database name> -o <target directory>

如果数据库在本地系统中。然后您可以键入下面的命令。 Linux终端

mongodump -h SERVER_NAME:PORT -d DATABASE_NAME

如果数据库有用户名和密码,那么你可以使用下面的代码。

mongodump -h SERVER_NAME:PORT -d DATABASE_NAME -u DATABASE_USER -p PASSWORD

这在我的Linux终端上运行得非常好。

或者你可以在Windows上做备份脚本,记得将Winrar添加到%PATH%

bin\mongodump --db=COL1 -o D:\BACK\COL1
rar.exe a -ep1 -r COL1.rar COL1
rename COL1.rar "COL1_%date:~10,4%_%date:~7,2%_%date:~4,2%_%time:~0,2%_%time:~3,2%.rar"

#rmdir /s /q COL1 -> don;t run this on your mongodb/ dir !!!!!

对特定db进行mongodb备份,使用bin sh命令删除7天前的备份

#!/bin/bash

MONGO_DATABASE="nexgtv_16"
APP_NAME="test"
MONGO_HOST="127.0.0.1"
MONGO_PORT="27017"
TIMESTAMP=`date +%F-%H%M`
MONGODUMP_PATH="/usr/bin/mongodump"
BACKUPS_DIR="/home/mongodbbackups/backups/$APP_NAME"
BACKUP_NAME="$APP_NAME-$TIMESTAMP"
$MONGODUMP_PATH -d $MONGO_DATABASE
mkdir -p $BACKUPS_DIR
mv dump $BACKUP_NAME
tar -zcvf $BACKUPS_DIR/$BACKUP_NAME.tgz $BACKUP_NAME
rm -rf $BACKUP_NAME
find /home/mongodbbackups/backups/test/ -mindepth 1 -mtime +7 -delete