MYSQL 5.6備份實錄-- Percona XtraBackup
[root@king01 src]# tar zxvf percona-xtrabackup-2.4.4-Linux-x86_64.tar.gz -C /usr/local
[root@king01 src]# cd /usr/local
[root@king01 local]# mv percona-xtrabackup-2.4.4-Linux-x86_64/ xtrabackup
[root@king01 local]# chown mysql -R xtrabackup/
[root@king01 ~]# su - mysql
[mysql@king01 ~]$ vi .bash_profile
PATH=$PATH:/usr/local/xtrabackup/bin
[mysql@king01 ~]$ source .bash_profile
[root@king01 ~]# mkdir -p /usr/local/mysql/backup
[root@king01 ~]# chown -R mysql /usr/local/mysql/backup
[root@king01 ~]# su - mysql
[mysql@king01 ~]$ vi full_backup.sh
#!/bin/bash
user='root'
passwd='abcd.1234'
my_config='/etc/my.cnf'
backup_dir='/usr/local/mysql/backup'
if [ -f ~/.bash_profile ];
then
. ~/.bash_profile
fi
innobackupex --defaults-file=$my_config --user=$user --password=$passwd $backup_dir
[mysql@king01 ~]$ chmod a+x full_backup.sh
[mysql@king01 ~]$ ./full_backup.sh
[mysql@king01 ~]$ cd /usr/local/mysql/backup/
[mysql@king01 backup]$ ll
[mysql@king01 backup]$ cd 2018-02-07_15-31-40/
[mysql@king01 2018-02-07_15-31-40]$ ll
[mysql@king01 ~]$ vi incr_backup.sh
#!/bin/bash
user='root'
passwd='abcd.1234'
my_config='/etc/my.cnf'
backup_dir='/usr/local/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
[mysql@king01 ~]$ chmod a+x incr_backup.sh
[mysql@king01 ~]$ crontab -e
00 3 * * 0 /home/mysql/full_backup.sh>/usr/local/mysql/backup/full_backup.log 2>&1
00 3 * * 1-6 /home/mysql/incr_backup.sh>/usr/local/mysql/backup/incr_backup.log 2>&1
[mysql@king01 ~]$ crontab -l
00 3 * * 0 /home/mysql/full_backup.sh>/usr/local/mysql/backup/full_backup.log 2>&1
00 3 * * 1-6 /home/mysql/incr_backup.sh>/usr/local/mysql/backup/incr_backup.log 2>&1
MYSQL 5.6備份實錄-- Percona XtraBackup