MongoDB Backup and Restore

Maintaining backups of your workspace data is a very important practice. These data backups can act as a safety measure where data can be recovered or restored in case of an emergency.

Rocket.Chat uses MongoDB as its database. With MongoDB, you have multiple built-in backup options depending on the deployment method.

In this guide, we are going to focus on how to:

MongoDB backup with mongodump

We are going to see how to backup our MongoDB database, using mongodumparrow-up-right. mongodump allows you to create backups from standalone, replica sets or sharded cluster deployments.

circle-info

From MongoDB server 4.4, you need to install the mongodump utility separately. Read more at the MongoDB Database tools docs https://www.mongodb.com/docs/database-tools/mongodumparrow-up-right

Backup a MongoDB standalone instance

The command to backup a simple MongoDB standalone instance is of the format:

mongodump <options> <connection-string>
  • Running mongodump alone from the command line without any options will assume the database is located on localhost at port 27017 with no authentication.

  • When the backup is completed, a /dump directory is created.

Backup a remote MongoDB instance

Backing up a remote MongoDB instance can be done with the following command:

See more options and how to use mongodump on MongoDB Database tools docsarrow-up-right.

You should see something like the image below when the command is running:

mongodump command executing

MongoDB Restore with mongorestore

After backing up your instance, you may need to restore the data at some time. That can be done using mongorestorearrow-up-right. mongorestore allows you to load data from either a binary database dump created by mongodumparrow-up-right or the standard input into the MongoDB instance.

circle-info

Make sure you first drop any existing Rocket.Chat schema in your database with the same name as the one you are restoring.

  • The syntax for the mongorestore command is as follows:

  • The simple command below restores from a dump directory to a local mongodarrow-up-right instance running on port 27017:

  • You can restore to a remote instance by running the following command:

circle-info

You have the ability to also restore a specific collection or collections from the dump/ directory. See MongoDB docsarrow-up-right

In a successful command execution, you should see a screen like the one below:

mongorestore command executed

Last updated