-
-
Save caraboides/7679bb73f4f13e36fc2b9dbded3c24c0 to your computer and use it in GitHub Desktop.
#!/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 - " |
Ver 3.2+ onwards there has been compression feature introduced which can be used as following to make this work for entire server or specific db
/usr/bin/mongodump -h $HOST -d $DB --gzip --archive | aws s3 cp - $S3BACKUP
and your restore script would be
aws s3 cp $S3LATEST - | mongorestore --host $HOST --archive --gzip
Hi howTo solve error like " Invalid endpoint: https://s3.US East.amazonaws.com"
Hi,
How to solve error like Invalid endpoint: https://s3.US East.amazonaws.com
backup and restore works great for me. I just have one question - I have many databases and was wondering if there is a way to backup all databases without defining a list of databases? or recommendation to backup separately for restore purposes? whats the best practice
use to backup 10-12 databases via one script?
@anilbhanushali thanks for your comment. Does it restore into the same db as exported or it creates it with a new name?
How the script works with very large (~60-100 GB) collections dumps?
@innokentiyt It works ;-)
Are you able to stream out entire db ( by not specifying collection option ) ?