MongoDB ReplicaSet Backup Script on Google Compute Engine and Google Cloud Storage
# Path to boto config file, needed by gsutils | |
BOTO_CONFIG="/etc/boto.cfg" | |
# Path in which to create the backup (will get cleaned later) | |
BACKUP_PATH="/mnt/data/dump/" | |
# DB name | |
DB_NAME="mydatabase" | |
# Google Cloud Storage Bucket Name | |
BUCKET_NAME="mybackupbucket" | |
# Don't run on the master of a replica set, only on replicas | |
IS_MASTER=`mongo --quiet --eval "d=db.isMaster(); print( d['ismaster'] );"` | |
if [ "$IS_MASTER" == "true" ] | |
then | |
exit 2 | |
fi | |
CURRENT_DATE=`date +"%Y%m%d-%H%M"` | |
# Backup filename | |
BACKUP_FILENAME="${DB_NAME}_${CURRENT_DATE}.tar.gz" | |
# Create the backup | |
mongodump --db $DB_NAME -o $BACKUP_PATH | |
cd $BACKUP_PATH | |
# Archive and compress | |
tar -cvzf $BACKUP_PATH$BACKUP_FILENAME * | |
# Copy to Google Cloud Storage | |
echo "Copying $BACKUP_PATH$BACKUP_FILENAME to gs://$BUCKET_NAME/" | |
/usr/local/bin/gsutil cp $BACKUP_PATH$BACKUP_FILENAME gs://$BUCKET_NAME/ 2>&1 | |
echo "Copying finished" | |
echo "Removing backup data" | |
rm -rf $BACKUP_PATH* |
This comment has been minimized.
This comment has been minimized.
Thanks for sharing! |
This comment has been minimized.
This comment has been minimized.
@nikmartin thanks. I've fixed it. |
This comment has been minimized.
This comment has been minimized.
Thanks a lot ! |
This comment has been minimized.
This comment has been minimized.
Thanks. I've updated it. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
This comment has been minimized.
Most excellent, thanks! One correction: