Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save checkaayush/0fa6a6e2c8eeaa7291498f01cd86bffa to your computer and use it in GitHub Desktop.
Save checkaayush/0fa6a6e2c8eeaa7291498f01cd86bffa to your computer and use it in GitHub Desktop.
Simple script to backup MongoDB to S3, without waste diskspace for temp files. And a way to restore from the latest snapshot.
#!/bin/sh
set -e
HOST=localhost
DB=test-entd-products
COL=asimproducts
S3PATH="s3://mongodb-backups-test1-entd/$DB/$COL/"
S3BACKUP=$S3PATH`date +"%Y%m%d_%H%M%S"`.dump.gz
S3LATEST=$S3PATH"latest".dump.gz
/usr/bin/aws s3 mb $S3PATH
/usr/bin/mongodump -h $HOST -d $DB -c $COL -o - | gzip -9 | aws s3 cp - $S3BACKUP
aws s3 cp $S3BACKUP $S3LATEST
# Restore
echo -n "Restore: "
echo -n "aws s3 cp $S3LATEST - |gzip -d | mongorestore --host $HOST --db $DB -c $COL - "
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment