Automatic incremental MySQL backup with xtrabackup.
#!/bin/bash
now=`date +%Y-%m-%d_%H-%M-%S`
backup_directory="/media/data/backup"
current_backup=$backup_directory/$now"_full"
logfile="/var/log/db-backup/"$now"_full"
mysql_user="root"
mysql_pass=""
echo "========================================="
echo " MySQL Data Backup (Full)"
echo "========================================="
#perform full backup
innobackupex --ibbackup=xtrabackup_55 --parallel=4 --user=$mysql_user --password=$mysql_pass --no-timestamp $current_backup 2> $logfile
# see if the backup completed sucsessfully
if ! tail $logfile -n 1 | grep completed.OK
then
rm -R $current_backup
echo "\nERROR: backup failed! (log: "$logfile")"
exit 1
fi
echo $current_backup > $backup_directory/last_backup
echo "Backup Completed OK!"
