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:
We are going to see how to backup our MongoDB database, using mongodump
. mongodump
allows you to create backups from standalone, replica sets or sharded cluster deployments.
{% hint style="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/mongodump
{% endhint %}
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 onlocalhost
at port27017
with no authentication. - When the backup is completed, a
/dump
directory is created.
Backing up a remote MongoDB instance can be done with the following 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:
mongodump command executing
After backing up your instance, you may need to restore the data at some time. That can be done using mongorestore
. mongorestore
allows you to load data from either a binary database dump created by mongodump
or the standard input into the MongoDB instance.
{% hint style="info" %} Make sure you first drop any existing Rocket.Chat schema in your database with the same name as the one you are restoring. {% endhint %}
- The syntax for the
mongorestore
command is as follows:
mongorestore <options> <connection-string> <directory or file to restore>
- The simple command below restores from a
dump
directory to a localmongod
instance running on port27017
:
mongorestore dump/
- You can restore to a remote instance by running the following command:
mongorestore --uri="mongodb://<host URL/IP>:<Port>" /dump
{% hint style="info" %}
You have the ability to also restore a specific collection or collections from the dump/
directory. See MongoDB docs
{% endhint %}
In a successful command execution, you should see a screen like the one below:
mongorestore command executed