Xtrabackup全量備份/增量備份腳本

wKioL1mIa3Xhw37VAAArXblQcsw543.jpg


一、全量備份腳本

    

    1.全量備份腳本

#!/bin/bash
#Description:xtrabackup complete
#Author:created by michael
#2017-08-07 v0.1
#
USER=root
PASSWD=123456
BACKUP_DIR=/backup/mysql/complete
DATE=$(date +"%F_%T")
[[ -d $BACKUP_DIR ]] || mkdir $DATE_DIR
innobackupex --user=$USER --password=$PASSWD $BACKUP_DIR &> /tmp/mysql/"$DATE".txt
egrep ".* Backup created in directory.*" /tmp/mysql/"$DATE".txt >> $BACKUP_DIR/complete.info
rm -rf /tmp/mysql/"$DATE".txt

    2.啓動crond以及開機自啓動crond

systemctl start crond
systemctl enable crond

    3.授予執行權限

chmod 755 /root/script/backup_complete.sh

    4.每週六的凌晨4點整定時執行全量備份

[root@michaelos complete]# crontab -e
crontab: installing new crontab
[root@michaelos complete]# crontab -l
0 4 * * 6 /root/script/backup_complete.sh

二、增量備份腳本

    1.增量備份腳本

[root@michaelos script]# cat backup_increment.sh 
#!/bin/bash 
#Description: mysql backup incremention
#Author:michael
#2017-08-07 v0.1
#
USER=root
PASSWORD=123456
BACKUP_DIR=/backup/mysql/increment
DATE=$(date +"%F_$T")
BASE_DIR=$(tail -1 /backup/mysql/complete/complete.info | cut -d\' -f2)
[[ -d $BACKUP_DIR ]] || mkdir $BACKUP_DIR
innobackupex --user=$USER --password=$PASSWORD --incremental $BACKUP_DIR --incremental-basedir=$BASE_DIR &> /tmp/mysql/"$DATE".txt
egrep ".*Backup created in directory.*" /tmp/mysql/"$DATE".txt >> $BACKUP_DIR/backup.info
rm -rf /tmp/mysql/"$DATE".txt

    2.授予執行權限     

chmod 755 backup_increment.sh

    3.每週二、四、日的凌晨2點執行增量備份

[root@michaelos script]# crontab -l
0 4 * * 6 /root/script/backup_complete.sh
0 2 * * 2,4,7 /root/script/backup_increment.sh


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章