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


当前回答

下面的命令连接到远程服务器来转储数据库:

<>可选参数在需要时使用它们

Host -主机名端口 监听端口用户名 db用户名db 数据库名称SSL 安全连接出去 输出到已创建的带名称的文件夹中 mongodb——host——port——username——db——ssl——password——out _date+"%Y-%m-%d"

其他回答

有一个实用程序叫做:mongodb 在mongo命令行中,你可以输入:

>./mongodump

上面的操作将创建本地主机上所有数据库的转储。要转储单个集合,使用:

./mongodump --db blog --collection posts

看看:mongodb

您可以转储数据库并使用bellow命令进行恢复

mongodb  -d <Your_db_name> -o <path of your folder>

例如,我的数据库名称是跟踪,我有转储在转储文件夹

mongodb  -d tracking -o dump

恢复转储

mongorestore -d <databasename> <dum_path>

mongorestore -d tracking  dump/tracking

下面的命令将工作,采取mongo db转储。

mongodb -d -o

在Windows上:试试这个,其中c:\ mongodb是转储文件的位置, 它将创建json格式的元数据,并以bson格式进行备份

C:\MongoDB\bin> MongoDB -d -o

对特定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

你也可以使用gzip备份一个集合,并在运行中压缩备份:

mongodump --db somedb --collection somecollection --out - | gzip > collectiondump.gz

或者在文件名中加上日期:

mongodump --db somedb --collection somecollection --out - | gzip > dump_`date "+%Y-%m-%d"`.gz

更新: 在date文件夹中备份数据库的所有集合。文件被gzip压缩:

mongodump --db somedb --gzip --out /backups/`date +"%Y-%m-%d"`

或者对于单个存档:

mongodump --db somedb --gzip --archive > dump_`date "+%Y-%m-%d"`.gz

或者mongodb在docker内部运行时:

docker exec <CONTAINER> sh -c 'exec mongodump --db somedb --gzip --archive' > dump_`date "+%Y-%m-%d"`.gz