A utility to backup/dump mongo database to amazon s3
- Install the package
npm install mongodb-dump-backup-aws-s3
- Import it into your file
- Setup a backup client with your aws credential
- Initiate the backup
mongorestore --archive=/path/to/dump
const mongoS3Backup = require("./index");
const dotenv = require("dotenv");
const moment = require("moment");
dotenv.config(".env");
const bucketName = process.env.AWS_S3_DUMP_BUCKET;
const accessKey = process.env.AWS_ACCESS_KEY_ID;
const accessSecret = process.env.AWS_SECRET_ACCESS_KEY;
const dbConnectionUri = process.env.MONGO_URI;
const backupClient = mongoS3Backup({ bucketName, accessKey, accessSecret });
const date = moment().format("MMMM Do HH-mm");
backupClient
.backupDatabase({ uri: dbConnectionUri, backupName: "test_backup_" + date })
.then((response) => {
console.log("Success response ", response);
/*
Success response includes default aws response to uploading files
example:
{
ETag: '"exampleEtag"',
Location: 'https://examplebucket.s3.amazonaws.com/test_backup',
key: 'test_backup',
Key: 'test_backup',
Bucket: 'mybucket'
}
*/
})
.catch((err) => {
console.log("error is ", err);
});
uri: string
required
the connection string for the mongo database `backupName: string
required
the name of the backup to be dumped on s3gzip: true|false
wheather to use gzip option for the dump command, defaults to false