MongoDB Backup with Bash

Learn how to backup MongoDB to Filebase using Bash.

What is MongoDB?

MongoDB is a document-orientrated cross-platform database program.

Read below to learn how to backup MongoDB to Filebase using Bash.

Prerequisites:

Special thanks to Simon Bennett from SnapShooter for the original version of this tutorial.

1. Start by installing the S3cmd tool on your MongoDB server with the following commands:

apt-get install python3 python3-setuptools curl -y

curl -LO https://github.com/s3tools/s3cmd/releases/download/v2.2.0/s3cmd-2.2.0.tar.gz

tar -xvzf s3cmd-2.2.0.tar.gz

cd s3cmd-2.2.0

python3 setup.py install

2. Verify S3cmd was installed correctly using the following command to display the installed version:

s3cmd --version

3. Next, configure S3cmd for use with Filebase:

s3cmd --configure

You will be prompted to enter the following configuration details:

  • Access Key: Filebase Access Key

  • Secret Key: Filebase Secret Key

  • Default Region: us-east-1

  • S3 Endpoint: s3.filebase.com

Overall, your configuration output should resemble the following:

4. Test your configuration using the following command:

s3cmd info s3://filebase-bucket-name

Replace filebase-bucket-name with your Filebase bucket name. The output should resemble the following:

5. Next, login to your MongoDB server with the following command:

mongo

6. Show the available databases with the command:

show dbs

7. Then, backup the admin database in your directory of choice using the following command.

This example uses the /opt/ directory:

mongodump –db admin –out /opt/

8. Run the following S3cmd command to copy the admin database backup file into your Filebase bucket:

tar -czvf - /opt/admin | s3cmd put - s3://filebase-bucket-name/admin.tar.gz

Replace filebase-bucket-name with your Filebase bucket name.

9. Verify that all files have been uploaded correctly using the following command:

s3cmd ls s3://filebase-bucket-name

The output will resemble the following:

2022-08-08 05:31 21163636 s3://filebase-bucket-name/admin.tar.gz

Last updated

Was this helpful?