#!/bin/bash
################################################################
##   MySQL Database Backup Script 
##   Last Update: 27 de abril de 2020
##############################################################
export PATH=/bin:/usr/bin:/usr/local/bin
TODAY=`date +"%d%b%Y"`
ANIO=`date +"%Y"`
## cd /
################################################################
################## Update below values  ########################

DB_BACKUP_PATH='/media/sf_XML2019/FEBackups'
MYSQL_HOST='localhost'
MYSQL_PORT=3306
MYSQL_USER='facelec'
MYSQL_PASSWORD='Facelec!'
DATABASE_NAME='Facelec'
DATABASE_EXT='sql.gz'
BACKUP_RETAIN_DAYS=30   ## Number of days to keep local backup copy

mysqldump -h ${MYSQL_HOST} -u ${MYSQL_USER} -p ${MYSQL_PASSWORD} --port ${MYSQL_PORT} ${DATABASE_NAME} | gzip > ${DB_BACKUP_PATH}/${ANIO}/${DATABASE_NAME}-${TODAY}.${DATABASE_EXT}

if [ $? -eq 0 ]; then
  echo "Database backup successfully completed"
else
  echo "Error found during backup"
  exit 1
fi
 
 
##### Remove backups older than {BACKUP_RETAIN_DAYS} days  #####
 
DBDELDATE=`date +"%d%b%Y" --date="${BACKUP_RETAIN_DAYS} days ago"`
 
if [ ! -z ${DB_BACKUP_PATH} ]; then
      cd ${DB_BACKUP_PATH}
      if [ ! -z ${DBDELDATE} ] && [ -d ${DBDELDATE} ]; then
            rm -rf ${DBDELDATE}
      fi
fi

### End of script ###
