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 inbuilt 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.

circle-info
  • The command to backup a simple MongoDB standalone instance is of the format

mongodump <options> <connection-string>
circle-check
  • Backing up a Remote MongoDB instance can be done with the command

mongodump --uri="mongodb://<host URL/IP>:<Port>" [additional options]

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

circle-info
  • Make sure you drop first any existing rocketchat schema in your database with same name as the one you are restoring.

  • mongorestore allows you to load data from either a binary database dump created by mongodumparrow-up-right or the standard input into MongoDB instance.

  • As from MongoDB server 4.4, you are required to install the mongorestore utility separately. Read more at the MongoDB Database tools docs https://www.mongodb.com/docs/database-tools/mongorestore/arrow-up-right

  • The syntax for the mongorestore command is

  • 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

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