Powered By Blogger

Friday, 10 November 2017

Shell Scripts for Mysql Enterprise backup using cron jobs

  
   vi full_meb.sh
  
   #!/bin/bash
   ### MySQL Server Login Info ###
   MUSER="kiran"
   MPASS="kiran"
   MHOST="localhost"
   MYSQL="$(which mysql)"
   MYSQLDUMP="$(which mysqldump)"
   DEFAULTFILE="/fs0/mysql/instance/testserver/conf/my.cnf"
   SOCK1="/fs0/mysql/instance/testserver/run/mysql.sock"
  BAK="/fs0/kiran/meb/fullbackup"
  INCBAK="/fs0/kiran/meb/incbackup"
  MNTFULL="/mnt/nsddbbackup/backup/testserver/backup_meb/fullbackup/"
  MNTINC="/mnt/nsddbbackup/backup/testserver/backup_meb/incbackup/"

NODE=$(echo ${TAPE_BACKUP_NODE:-$(uname -n)} | awk -F. '{print $1}')

  #GZIP="$(which gzip)"
  #NOW=$(date +"%d-%m-%Y")
  #NOW=`date +"%d-%m-%Y"`

  BACKUP_TYPE=$1

  #setInst lportal
  #export PATH=$PATH:/fs0/mysql/meb/meb-3.8.0-el6-x86-64bit/bin
 
  export PATH=$PATH:/fs0/mysql/meb/meb-3.9.0-linux2.6-x86-64bit/bin


  if [ $BACKUP_TYPE = "FULL" ]
  then

  mysqlbackup --defaults-file=$DEFAULTFILE --user=$MUSER -p$MUSER --socket=$SOCK1 --backup-dir=$BAK --compress --with-timestamp backup

  RC=$?
  if [ "$RC" != 0 ]
  then
   # echo "Export of ($MYSQL_DBNAME) on node $NODE failed during mysql dump schema  $DB"
   # $BACKUP_COM_DIR/bkup_notification.sh FAILURE "$NODE:$PROCNAME Export failed return code $RC."

   echo "full backup using MEB failed on $NODE"  | mail -s "failed to create backup on $NODE server" kirch02x.com
   # exit 2
  fi

  ### copying to full backup to mount drive

  cpfile=$(ls -lrt $BAK  | tail -1 | awk '{ print $9}')

  cp -R $BAK/$cpfile $MNTFULL
  echo $BAK
  echo $MNTFULL

  fi

  if [ $BACKUP_TYPE = "FRSTINC" ]
  then

  destdir=$(ls -lrt $BAK | tail -1 | awk '{ print $9}')

  echo $destdir


  mysqlbackup --defaults-file=$DEFAULTFILE --user=$MUSER -p$MPASS --socket=$SOCK1 --incremental --incremental-backup-dir=$INCBAK --incremental-base=dir:$BAK/$destdir --with-timestamp backup

  RC=$?
  if [ "$RC" != 0 ]
  then
   # echo "Export of ($MYSQL_DBNAME) on node $NODE failed during mysql dump schema  $DB"
   # $BACKUP_COM_DIR/bkup_notification.sh FAILURE "$NODE:$PROCNAME Export failed return code $RC."

   echo "first incremental backup MEB failed on $NODE"  | mail -s "failed to create the first incremental backup on $NODE server" kirch02x.com
  fi

  ### copying the first increment  backup to mount drive

  cpfile=$(ls -lrt $INCBAK  | tail -1 | awk '{ print $9}')

  cp -R $INCBAK/$cpfile $MNTINC
  echo $cpfile
  echo $INCBAK
  echo "the incremental backup is" $MNTINC


  fi


  if [ $BACKUP_TYPE = "INC" ]
  then
  destdir=$(ls -lrt $INCBAK | tail -1 | awk '{ print $9}')
  echo $destdir

  mysqlbackup --defaults-file=$DEFAULTFILE --user=$MUSER -p$MPASS --socket=$SOCK1 --debug --verbose  --incremental --incremental-backup-dir=$INCBAK --incremental-base=dir:$INCBAK/$destdir --with-timestamp backup


  RC=$?
  if [ "$RC" != 0 ]
  then
   # echo "Export of ($MYSQL_DBNAME) on node $NODE failed during mysql dump schema  $DB"
   # $BACKUP_COM_DIR/bkup_notification.sh FAILURE "$NODE:$PROCNAME Export failed return code $RC."

   echo "subsequent incremental backup MEB failed on $NODE"  | mail -s "failed to create the subsequent incremental backup on $NODE server" kirch02x.com
  fi

 ### copying the first increment  backup to mount drive
 cpfile=$(ls -lrt $INCBAK  | tail -1 | awk '{ print $9}')
 cp -R $INCBAK/$cpfile $MNTINC
 echo $cpfile
 echo $INCBAK
 echo "the incremental backup is" $MNTINC
echo $NODE
 fi
# echo for deleting toe older backup files
#find $MNTFULL/* -type d -mtime +15 -exec rm -rf {} \ ; 2> /dev/null
find /mnt/nsddbbackup/backup/testserver/backup_meb/incbackup/* -type d -mtime +10 -exec rm -rf {} \;  2> /dev/null
find /mnt/nsddbbackup/backup/testserver/backup_meb/fullbackup/* -type d -mtime +7 -exec rm -rf {} \;  2> /dev/null

## echo deleting the locat backup files older than 7 days
find /fs0/kiran/meb/fullbackup/* -type d -mtime +7 -exec rm -rf {} \;  2> /dev/null
find /fs0/kiran/meb/incbackup/* -type d -mtime +7 -exec rm -rf {} \;  2> /dev/null



######### the cronjob is as folllows ###########
00 01 * * * /fs0/kiran/scripts/full_meb.sh FULL
00 06 * * * /fs0/kiran/scripts/full_meb.sh FRSTINC
00 12,18,23 * * * /fs0/kiran/scripts/full_meb.sh INC
###################################

















No comments:

Post a Comment