MongoDB Database Backups

Create an environment

1. Log into your Apiqcloud account and click Create environment.

2. As the window appears to 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 Apiqcloud 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_USERNAME="admin";
MONGO_PASSWORD="<your MongoDB password>";
DAYS_TO_STORE=3;

In this case <MONGO_USERNAME> and <MONGO_PASSWORD> are your database credentials which you should have received via email while creating the Apiqcloud 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:
-d {db_name}
$MONGODUMP -u $MONGO_USERNAME -p $MONGO_PASSWORD -d DB_NAME1, DB_NAME2 >> $BACKUP_LOG 2>&1;
  • to configure database tables backup:
-t {table_name}
$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.

Download backup

1. Install FTP for your database server as it’s described in our “FTP/FTPS support in Apiqcloud” 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!

  • 0 utilizatori au considerat informația utilă
Răspunsul a fost util?

Articole similare

PostgreSQL Database Replication

Database Replication with PostgreSQL 9 Replication is a basic technology for any database...

Scheduling Databases Backups

Scheduling Database Backups Scheduled backups are data backup processes which proceed...

Database Configuration

Database Configuration Below you will see the list of the configuration files available for...

PostgreSQL Database Backups

Automatic PostgreSQL Backups   The instruction below shows how to configure automatic...

Database Hosting in Apiqcloud Cloud

Apiqcloud  provides a set of scalable and fully manageable database servers that you can...