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 mongodump.
mongodumpallows you to create backups from standalone, replica sets or sharded cluster deployments.As from MongoDB server 4.4, you are required to install the
mongodumputility separately. Read more at the MongoDB Database tools docs https://www.mongodb.com/docs/database-tools/mongodump
The command to backup a simple MongoDB standalone instance is of the format
mongodump <options> <connection-string>Running
mongodumpalone from the command line without any options will assume the database is located onlocalhostat port27017with no authentication.When the backup is completed, a
/dumpdirectory is created.
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 docs.
You should see something like the image below when the command is running

MongoDB Restore with mongorestore
After backing up your instance, you may need to restore the data at some time. That can be done using mongorestore
Make sure you drop first any existing rocketchat schema in your database with same name as the one you are restoring.mongorestoreallows you to load data from either a binary database dump created bymongodumpor the standard input into MongoDB instance.As from MongoDB server 4.4, you are required to install the
mongorestoreutility separately. Read more at the MongoDB Database tools docs https://www.mongodb.com/docs/database-tools/mongorestore/
The syntax for the
mongorestorecommand is
The simple command below restores from a
dumpdirectory to a localmongodinstance running on port27017
You can restore to a remote instance by running
You have the ability to also restore a specific collection or collections from the dump/ directory. See MongoDB docs
In a successful command execution, you should see a screen like the one below
