#!/bin/bash
export PATH=/bin:/usr/bin:/usr/local/bin
TODAY=$(date +"%d%b%Y")
######################################################################
######################################################################
DB_BACKUP_PATH='/home/backup/mongo'
MONGO_HOST='localhost'
MONGO_PORT='27017'
AUTH_ENABLED=1
MONGO_USER='admin'
MONGO_PASSWD='MirawayJSC'
DATABASE_NAMES='ALL'
BACKUP_RETAIN_DAYS=1
KEEP_FILE=2
######################################################################
######################################################################
mkdir -p ${DB_BACKUP_PATH}/${TODAY}
AUTH_PARAM=""
if [ ${AUTH_ENABLED} -eq 1 ]; then
AUTH_PARAM=" --username ${MONGO_USER} --password ${MONGO_PASSWD} "
fi
if [ ${DATABASE_NAMES} = "ALL" ]; then
echo "You have choose to backup all databases"
mongodump --host ${MONGO_HOST} --port ${MONGO_PORT} ${AUTH_PARAM} --archive=${DB_BACKUP_PATH}/${TODAY}.gz --gzip
else
echo "Running backup for selected databases"
for DB_NAME in ${DATABASE_NAMES}; do
mongodump --host ${MONGO_HOST} --port ${MONGO_PORT} --db ${DB_NAME} ${AUTH_PARAM} --archive=${DB_BACKUP_PATH}/${TODAY}.gz --gzip
done
fi
## DELETE FILE
FILEPATH=$(date +"%d%b%Y" --date="${KEEP_FILE} days ago")
if [ ! -z ${DB_BACKUP_PATH} ]; then
cd ${DB_BACKUP_PATH}
if [ ! -z ${TODAY} ] && [ -d ${TODAY} ]; then
# tar -cvf ${TODAY}.tar ${TODAY}
find ./ -mtime +2 -exec rm -rf {} \;
fi
fi