MongoDB Backup in the Cloud
Previously we showed you how to schedule MySQL and MariaDB backups in the Jelastic Cloud, so today it’s time for a NoSQL solution. This tutorial is focused on creating an automatic MongoDB backup with the help of cron scheduler.
These days everyone is used to storing all business data: contacts, contracts, marketing materials, accounting records, etc. in digital format. So it’s natural that every business owner wants to backup their important data. In the case of a hardware or software failure, it’s much easier and cheaper to restore data from a backup than to rebuild it from scratch. Data backup is a very convenient and reliable way to protect your data and to save your business hard-earned competitive position, reputation and even more importantly – continuity.
So let’s discuss how to schedule a MongoDB backup in the Cloud in just a few minutes, without any additional software.
1. Log into your Jelastic account and click Create environment.
2. As the window appears pick MongoDB as your database and set the resource limits for it. After that, specify the name of your environment and click Create.
In a few minutes, your environment will appear on the dashboard.
3. Open MongoDB in a web browser, login into the RockMongo admin panel using the credentials, which Jelastic has sent you while creating the environment and then create your new database.
Configure MongoDB backup
1. Click the Config button for the database for further MongoDB backup configuration.
2. Move to the scripts directory and navigate to the backup_script.sh file. Find the next string and set your values:
MONGO_PASSWORD="<your MongoDB password>";
In this case <MONGO_USERNAME> and <MONGO_PASSWORD> are your database credentials which you should have received via email while creating the Jelastic environment.
<DAYS_TO_STORE> is the time period of storing the backup files (the default value is 3).
Don’t forget to save the changes!
3. Go to the cron directory and open the mongod file. Uncomment the next string to backup your database once per day (at night) due to default configurations:
@daily /bin/bash /var/lib/jelastic/bin/backup_script.sh
4. In the case that you want to backup your database with another frequency, configure how often the script should run by adding the cron settings instead of the default value (@daily).
For example, if you want to backup your database every ten minutes, the string will look like the following:
*/10 * * * * /bin/bash /var/lib/jelastic/bin/backup_script.sh
5. Navigate to the scripts directory and specify the next configuration in the backup_script.sh file to backup specific databases or tables:
- to configure multiple database backups:
$MONGODUMP -u $MONGO_USERNAME -p $MONGO_PASSWORD -d DB_NAME1, DB_NAME2 >> $BACKUP_LOG 2>&1;
- to configure database tables backup:
$MONGODUMP -u $MONGO_USERNAME -p $MONGO_PASSWORD -d DB_NAME1 -t TABLE_NAME1, TABLE_NAME2 >> $BACKUP_LOG 2>&1;
Note: You can use multiple values for databases and tables separated by commas. You have to specify the name of the database where these tables are placed to set the database tables backup.
Check MongoDB backup
1. Wait until the time that you scheduled the MongoDB backup.
2. Go to the Configuration tab and navigate the backup directory (/var/lib/jelastic/backup). You’ll find .tgz files with all executed backups there.
1. Install FTP for your database server as it’s described in our “FTP/FTPS support in Jelastic” guide.
2. Connect to the MongoDB database using any FTP client (e.g. FileZilla) and download your backup files.
Restore files from a backup
1. Unzip the backup package you’ve downloaded earlier and navigate to the folder named as the database or the collection you want to restore. Then find the collection bson file in there.
2. Convert the bson file into json format using the next command:
bsondump my.bson > my.json
Note: You need to have MongoDB installed on your local machine. Locate your bson file in the mongodb…/bin folder and run the above command under this directory. The generated json file will be stored in the same folder.
3. Open MongoDB in a web browser and navigate to the database where you want to restore your data or create a new one.
4. Import your json file to the collection where you would like to have it located. And that’s all! Your data has been successfully restored.
As you can see, it’s quite easy to get your MongoDB backup files in the Cloud. Now, all of your data is safe and you can restore and reuse it whenever you need. Enjoy!