MySql Database 备份(Percona XtraBackup)
# rpm -ivh percona-xtrabackup-24-2.4.9-1.el6.x86_64.rpm# su - mysql
$ mkdir backup
完整备份
$ vi full_backup.sh
#!/bin/bash
user='root'
passwd='abcd.1234'
my_config='/etc/my.cnf'
backup_dir='/home/mysql/backup'
if [ -f ~/.bash_profile ];
then
. ~/.bash_profile
fi
innobackupex--defaults-file=$my_config --user=$user --password=$passwd $backup_dir
# 删除N天前的备份
last_day=$(date -d "1 days ago" +%Y-%m-%d)
filename=$(find $backup_dir -name "$last_day*" -print|awk -F / '{print $NF}')
if [ ! -n "$filename" ]; then
echo "null"
else
rm -rf $backup_dir/$filename
fi
$ chmod a+x full_backup.sh
增量备份
$ vi incr_backup.sh
#!/bin/bash
user='root'
passwd='abcd.1234'
my_config='/etc/my.cnf'
backup_dir='/home/mysql/backup/'
last_day=$(date -d "1 days ago" +%Y-%m-%d)
filename=$(find $backup_dir -name "$last_day*" -print|awk -F / '{print $NF}')
if [ -f ~/.bash_profile ];
then
. ~/.bash_profile
fi
innobackupex --defaults-file=$my_config --user=$user --password=$passwd --incremental --incremental-basedir=$backup_dir/$filename $backup_dir
$ chmod a+x incr_backup.sh
$ crontab -e
00 3 * * 0 /home/mysql/full_backup.sh>/home/mysql/backup/full_backup.log 2>&1
00 3 * * 1-6 /home/mysql/incr_backup.sh>/home/mysql/backup/incr_backup.log 2>&1
$ crontab -l
00 3 * * 0 /home/mysql/full_backup.sh>/home/mysql/backup/full_backup.log 2>&1
00 3 * * 1-6 /home/mysql/incr_backup.sh>/home/mysql/backup/incr_backup.log 2>&1
页:
[1]