How do I create a MongoDB dump of my database?

DatabaseMongodbDatabase Dump

Database Problem Overview


What command should I use to create a MongoDB dump of my database?

Database Solutions


Solution 1 - Database

To dump your database for backup you call this command on your terminal

mongodump --db database_name --collection collection_name

To import your backup file to mongodb you can use the following command on your terminal

mongorestore --db database_name path_to_bson_file

Solution 2 - Database

You can also use gzip for taking backup of one collection and compressing the backup on the fly:

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

or with a date in the file name:

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

Update:
Backup all collections of a database in a date folder. The files are gziped:

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

Or for a single archive:

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

Or when mongodb is running inside docker:

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

Solution 3 - Database

Use mongodump:

$ ./mongodump --host prod.example.com
connected to: prod.example.com
all dbs
DATABASE: log    to   dump/log
        log.errors to dump/log/errors.bson
                713 objects
        log.analytics to dump/log/analytics.bson
                234810 objects
DATABASE: blog    to    dump/blog
        blog.posts to dump/log/blog.posts.bson
                59 objects
DATABASE: admin    to    dump/admin

Source: http://www.mongodb.org/display/DOCS/Import+Export+Tools

Solution 4 - Database

This command will make a dump of given database in json and bson format.

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

Solution 5 - Database

Backup/Restore Mongodb with timing.

Backup:

sudo mongodump --db db_name --out /path_of_your_backup/`date +"%m-%d-%y"`

--db argument for databse name

--out argument for path of output

Restore:

sudo mongorestore --db db_name --drop /path_of_your_backup/01-01-19/db_name/

--drop argument for drop databse before restore

Timing:

You can use crontab for timing backup:

sudo crontab -e

It opens with editor(e.g. nano)

3 3 * * * mongodump --out /path_of_your_backup/`date +"%m-%d-%y"`

backup every day at 03:03 AM

> Depending on your MongoDB database sizes you may soon run out of disk > space with too many backups. That's why it's also recommended to clean > the old backups regularly or to compress them. For example, to delete > all the backups older than 7 days you can use the following bash > command:

3 1 * * * find /path_of_your_backup/ -mtime +7 -exec rm -rf {} \;

delete all the backups older than 7 days

Good Luck.

ref: https://www.digitalocean.com/community/tutorials/how-to-back-up-restore-and-migrate-a-mongodb-database-on-ubuntu-14-04

Solution 6 - Database

You need to open command prompt as an administrator in a folder where your Mongo is installed (in my case: C:\Program Files\MongoDB\Server\3.4\bin). If you want to dump your whole database, you can just use:

mongodump --db database_name

You also have posibilities to dump only certain collection(s), or to dump all but certain collection(s).

If you want to dump only one collection (for example users):

mongodump  --db database_name --collection users

If you want to dump all but users collection:

mongodump  --db database_name --excludeCollection=users

It is also possible to output the dump to an archive file:

mongodump --archive=test.archive --db database_name

Solution 7 - Database

> Edit: Updated commands based on latest version of MongoDB v4.4.2

to export

mongodump -d <database name> -o <backup-folder>

to import

mongorestore -d <database name> --dir <backup-folder>

Solution 8 - Database

There is a utility called : mongodump On the mongo command line you can type :

>./mongodump

The above will create a dump of all the databases on your localhost. To make dump of a single collection use:

./mongodump --db blog --collection posts

Have a look at : mongodump

Solution 9 - Database

You can dump your database and restore with bellow command

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

for example my database name is tracking i have dump in dump folder

mongodb  -d tracking -o dump

Restoring dump

mongorestore -d <databasename> <dum_path>

mongorestore -d tracking  dump/tracking

Solution 10 - Database

Following command connect to the remote server to dump a database:

<> optional params use them if you need them

  • host - host name port

  • listening port username

  • username of db db

  • db name ssl

  • secure connection out

  • output to a created folder with a name

    mongodump --host --port --username --db --ssl --password --out _date+"%Y-%m-%d"

Solution 11 - Database

If your database in the local system. Then you type the below command. for Linux terminal

mongodump -h SERVER_NAME:PORT -d DATABASE_NAME

If database user and password are there then you below code.

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

This worked very well in my Linux terminal.

Solution 12 - Database

cmd -->

C:\Program Files\MongoDB\Server\3.2\bin>mongodump.exe --db Dintest

Solution 13 - Database

Mongo dump and restore with uri to local

mongodump --uri "mongodb://USERNAME:PASSWORD@IP_OR_URL:PORT/DB_NAME" --collection COLLECTION_NAME -o LOCAL_URL

Omitting --collection COLLECTION_NAME will dump entire DB.

Solution 14 - Database

Below command will work to take dump of mongo db . > mongodump -d -o

On Windows : try this one where c:\mongodump is dump file location , It will create metadata in json, and backup in bson format

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

Solution 15 - Database

use "path" for windows else it gives the error as: positional arguments not allowed

Solution 16 - Database

Or you can make backup script on Windows, remember to add Winrar to %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 !!!!!

Solution 17 - Database

take mongodb backup for particular db and delete 7 days old backup using bin sh command :-

#!/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

Solution 18 - Database

 Use -v to see progress of backup data
    mongodump -v --db dbname --out /pathforbackup/NewFolderforBackupData

 you can use it for restore also
    mongorestore -v --db dbname --drop /pathforbackup/NewFolderforBackupData/dbname

with multile v like -vvvv you will get more information

Solution 19 - Database

I created a library called BackSync which helps to backup and sync MongoDB databases (also local files/directories and some other known databases), you can also schedule it with pm2 to run the process automatically.

Install:

npm i -g @ayoubamine/backsync

Add your MongoDB backup source:

backsync add backup

Add your sync source (Local, Google Drive, ...):

backsync add sync

Then, run the process: 

backsync run

Solution 20 - Database

mongodump -h hostname -u dbusername -p dbpassword --db dbname --port portnumber --out /path/folder

mongodump -h hostname -u dbusername -p dbpassword --db dbname --port portnumber --out /path/folder.gz

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionTIMEXView Question on Stackoverflow
Solution 1 - Databasesaimadhu.polamuriView Answer on Stackoverflow
Solution 2 - DatabaseroelandView Answer on Stackoverflow
Solution 3 - DatabaseearldouglasView Answer on Stackoverflow
Solution 4 - Databasejatinkumar patelView Answer on Stackoverflow
Solution 5 - DatabaseShahRokhView Answer on Stackoverflow
Solution 6 - DatabaseJeryView Answer on Stackoverflow
Solution 7 - DatabaseFayazView Answer on Stackoverflow
Solution 8 - Databaseaditya_gaurView Answer on Stackoverflow
Solution 9 - DatabaseNanhe KumarView Answer on Stackoverflow
Solution 10 - DatabaseMichael HorojanskiView Answer on Stackoverflow
Solution 11 - DatabasePooja KhatriView Answer on Stackoverflow
Solution 12 - DatabaseVisheView Answer on Stackoverflow
Solution 13 - Databasesmartworld-dmView Answer on Stackoverflow
Solution 14 - DatabaseBhasker The NavigatorView Answer on Stackoverflow
Solution 15 - Databaseyogesh chavanView Answer on Stackoverflow
Solution 16 - Databaseuser956584View Answer on Stackoverflow
Solution 17 - Databasemanoj tiwariView Answer on Stackoverflow
Solution 18 - DatabaseNivruttiView Answer on Stackoverflow
Solution 19 - DatabaseBirdView Answer on Stackoverflow
Solution 20 - DatabaseAnjankumar H NView Answer on Stackoverflow