xtrabackup自动全备,增备以及自动恢复脚本
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了xtrabackup自动全备,增备以及自动恢复脚本相关的知识,希望对你有一定的参考价值。
cat xtrabackup.sh
#!/bin/bash
[ -d /home/increment/ ] || mkdir -p /home/increment/
mysql_path=/home/
mysql_increment_path=/home/increment/
#mysql全备
mysql_backup() {
innobackupex --defaults-file=/etc/my.cnf --user=root --password=‘123456‘ --backup $mysql_path/mysql-`date +%Y%m%d`/ --no-timestamp
exit 0
}
#恢复
mysql_recovery() {
systemctl stop mysqld
mv /var/lib/mysql /var/lib/mysql2
innobackupex --apply-log $mysql_path/mysql-`date +%Y%m%d`/
innobackupex --defaults-file=/etc/my.cnf --copy-back $mysql_path/mysql-`date +%Y%m%d`/
chown -R mysql.mysql /var/lib/mysql
systemctl start mysqld
exit 0
}
#增量备份
mysql_increment() {
innobackupex --defaults-file=/etc/my.cnf --user=root --password=‘123456‘ --incremental $mysql_increment_path/mysql-`date +%Y%m%d`/ --incremental-basedir=$mysql_path/mysql-`date +%Y%m%d`/ --no-timestamp
exit 0
}
#增量恢复
mysql_increment_recovery() {
innobackupex --apply-log --redo-only $mysql_path/mysql-`date +%Y%m%d`/
innobackupex --apply-log --redo-only $mysql_path/mysql-`date +%Y%m%d`/ --incremental-dir=$mysql_path/mysql-`date +%Y%m%d`/
systemctl stop mysqld
mv /var/lib/mysql /var/lib/mysql2
innobackupex --defaults-file=/etc/my.cnf --copy-back $mysql_path/mysql-`date +%Y%m%d`/
chown -R mysql.mysql /var/lib/mysql
systemctl start mysqld
exit 0
}
man() {
mysql_backup
#mysql_recovery
mysql_increment
#mysql_increment_recovery
}
man
以上是关于xtrabackup自动全备,增备以及自动恢复脚本的主要内容,如果未能解决你的问题,请参考以下文章
思路:如何快速写一个全面的数据库 增备+全备+删除,自动化的脚本?