User Tools

Site Tools


innobackupx_scripted_to_backup_daily

InnoBackupX

* This is great tool for hot online backup.
* Following script is used to backup mysql to remote server with key less entry only.
* Following script need you to change some variables.

Master server
| /usr/bin/pushbackup.sh
#!/bin/bash
 
if /usr/bin/innobackupex-1.5.1 --no-timestamp --no-lock --user=root --password=testpassword --stream=tar ./ | ssh root@remote.backup.com "cat - > /root/bkuptest/Backup/test.tar"
then
        if ssh root@remote.backup.com "/usr/bin/mybackup.sh"
                then
                echo "Backup Done" | mail -s "[Backup] backup done Complete" ketan@email.com
        else
                echo "Backup Failed" | mail -s "[Backup] master Failed" ketan@email.com
        fi
else
        echo "Backup Failed" | mail -s "[Backup] master Failed" ketan@email.com
fi
Remote Server
| /usr/bin/mybackup.sh
#!/bin/bash
 
cd /root/bkuptest/Backup
if tar -ixvf test.tar
then
/etc/init.d/mysqld stop
/bin/sleep 20
if ps awux | grep -v grep | grep mysqld
  then
    exit $?
  else
   echo "mysql stopped"
fi
if rm -rf /var/lib/mysql/*
  then
        echo "remove done"
   if /usr/bin/innobackupex-1.5.1 --copy-back /root/bkuptest/Backup/
    then 
        echo "copy back done"
     if chown -R mysql:mysql /var/lib/mysql
      then 
        echo "permission Done"
        /bin/sleep 20
       /etc/init.d/mysqld start
          /bin/sleep 20
                if ps awux | grep -v grep | grep mysqld
                then
                  echo "mysql started"
                else
                  exit $?
                fi
          if /usr/bin/innobackupex-1.5.1 --apply-log --user=root --password=testpassword /root/bkuptest/Backup/
           then
                echo "applying log done"
            if rm -rf /root/bkuptest/Backup/*
            then
                echo "removing done"
                exit $?
            else
             echo "failed removing backup" | mail -s "[Backup] remote.backup.com Failed Backup " ketan@email.com
             exit $?
           fi
          else
            echo "Failed applying log" | mail -s "[Backup] remote.backup.com Failed Backup " ketan@email.com
            exit $?
          fi
       else
        echo "Failed setting up permission" | mail -s "[Backup] remote.backup.com Failed Backup " ketan@email.com
        exit $?
       fi
     else
      echo "Filed on Copy Back" | mail -s "[Backup] remote.backup.com Failed Backup " ketan@email.com
      exit $?
     fi
   else
    echo "Failed Removing Mysql Files" | mail -s "[Backup] remote.backup.com Failed Backup " ketan@email.com
    exit $?
   fi
fi
else
echo "Failed everything on destination" | mail -s "[Backup] remote.backup.com Failed Backup " ketan@email.com
fi
innobackupx_scripted_to_backup_daily.txt · Last modified: 2020/08/10 02:35 (external edit)