#!/bin/bash
#对数据库进行备份,每周日进行全量备份,其他时间都进行增量备份,7天为一个周期
[ -d /xtrabackup/test ] || mkdir -pv /xtrabackup/test
mysql_password="Qianfeng@123"
mysql_user="root"
#查看今天是星期几
today_week=$(date '+%u')
#查看前一天的日期
yesterday=$(date -d "yesterday" '+%F')
#全量备份
full_backup(){
innobackupex --user=$mysql_user --password=$mysql_password /xtrabackup/test
if [ $? -eq 0 ]; then
echo "备份成功"
else
echo "备份失败"
fi
}
#增量备份
increment_backup(){
inc_backup_dir=$(find /xtrabackup/test -name %{yesterday}*)
innobackupex --user=$mysql_user --password=$mysql_password --incremental /xtrabackup/test --incremental-basedir=${yesterday}
if [ $? -eq 0 ]; then
echo "备份成功"
else
echo "备份失败"
fi
}
#判断当前为星期几再定进行什么备份方式
main_menu(){
if [ $today_week -eq 7 ]; then
full_backup
else
increment_backup
fi
}
main_menu
shell脚本一键备份mysql数据库
最新推荐文章于 2024-06-16 01:17:44 发布