mongo_backup.sh
#!/bin/bash
set -e
URI=mongodb://user:[email protected]:27017
DB=test
DIR=mongo-backup
TODAY=$(date +%Y%m%d)
DAY_RM=$(date +%Y%m%d --date='-10 day')
SPACE_NAME=$HOME/$DIR
BACKUP_NAME=$DB$(date +_%y%m%d_%H%M%S).gz
date
echo "Backing up MongoDB database to Space: $SPACE_NAME"
mkdir -p $SPACE_NAME/$TODAY
echo "Dumping MongoDB $DB database to compressed archive"
mongodump --uri $URI --db $DB --archive=$SPACE_NAME/$TODAY/$BACKUP_NAME --gzip
echo "Remove backup directory which is created 10 days ago: $SPACE_NAME/$DAY_RM"
if [ -d "$SPACE_NAME/$DAY_RM" ]; then rm -rf $SPACE_NAME/$DAY_RM; fi
echo 'Backup complete!'
$ sudo mkdir /var/log/mongo_backup
$ sudo chown ubuntu:ubuntu /var/log/mongo_backup
$ crontab -e
0 2 * * * /home/ubuntu/mongo-backup.sh >>/var/log/mongo_backup/mongo_backup.log 2>&1
$ mongorestore --uri $URI --db $DB --archive=$ARCHIEVE_NAME --gzip