#!/bin/bash #Force file syncronization and lock writes mongo admin --eval "printjson(db.fsyncLock())" MONGODUMP_PATH="/usr/bin/mongodump" MONGO_HOST="prod.example.com" MONGO_PORT="27017" MONGO_DATABASE="dbname" TIMESTAMP=`date +%F-%H%M` S3_BUCKET_NAME="bucketname" S3_BUCKET_PATH="mongodb-backups" # Create backup $MONGODUMP_PATH -h $MONGO_HOST:$MONGO_PORT -d $MONGO_DATABASE # Add timestamp to backup mv dump mongodb-$HOSTNAME-$TIMESTAMP tar cf mongodb-$HOSTNAME-$TIMESTAMP.tar mongodb-$HOSTNAME-$TIMESTAMP # Upload to S3 s3cmd put mongodb-$HOSTNAME-$TIMESTAMP.tar s3://$S3_BUCKET_NAME/$S3_BUCKET_PATH/mongodb-$HOSTNAME-$TIMESTAMP.tar #Unlock databases writes mongo admin --eval "printjson(db.fsyncUnlock())"