#!/usr/bin/bash
#Author:FZ
#data:2020/6/23
#一周一个周期 周日完整备份 周一周二增量备份, 周三差异备份,周四五六增量备份 脚本轻松修改备份策略,无需代码重构
date=date | awk '{print $4}'
back_up_dir=/mysql/full/
add_dir=/mysql/add/
difference_dir=/mysql/difference
add1_dir=ls /mysql/full | tail -1
if [ ! -d /mysql ];then
mkdir -p $back_up_dir
mkdir -p $add_dir
mkdir -p $difference_dir
fi
case $date in
星期一|Monday)
innobackupex --user=root --password=‘QianFeng@123’ --incremental
a
d
d
d
i
r
−
−
i
n
c
r
e
m
e
n
t
a
l
−
b
a
s
e
d
i
r
=
/
m
y
s
q
l
/
f
u
l
l
/
add_dir --incremental-basedir=/mysql/full/
adddir−−incremental−basedir=/mysql/full/add1_dir/
if [ $? -eq 0 ];then
echo “周一增量备份完成”
else
echo “周一增量备份失败”
fi
exit 3
;;
星期二|Tuesday)
innobackupex --user=root --password=‘QianFeng@123’ --incremental
a
d
d
d
i
r
−
−
i
n
c
r
e
m
e
n
t
a
l
−
b
a
s
e
d
i
r
=
/
m
y
s
q
l
/
f
u
l
l
/
add_dir --incremental-basedir=/mysql/full/
adddir−−incremental−basedir=/mysql/full/add1_dir/
if [ $? -eq 0 ];then
echo “周二增量备份完成”
else
echo “周二增量备份失败”
fi
exit 4
;;
星期三|Wednesday)
innobackupex --user=root --password=‘123’ --incremental
d
i
f
f
e
r
e
n
c
e
d
i
r
−
−
i
n
c
r
e
m
e
n
t
a
l
−
b
a
s
e
d
i
r
=
/
m
y
s
q
l
/
f
u
l
l
/
difference_dir --incremental-basedir=/mysql/full/
differencedir−−incremental−basedir=/mysql/full/add1_dir/
if [ $? -eq 0 ];then
echo “周三差异备份完成”
else
echo “周三差异备份失败”
fi
exit 4
;;
星期四|Thursday)
innobackupex --user=root --password=‘QianFeng@123’ --incremental
a
d
d
d
i
r
−
−
i
n
c
r
e
m
e
n
t
a
l
−
b
a
s
e
d
i
r
=
/
m
y
s
q
l
/
f
u
l
l
/
add_dir --incremental-basedir=/mysql/full/
adddir−−incremental−basedir=/mysql/full/add1_dir/
if [ $? -eq 0 ];then
echo “周四增量备份完成”
else
echo “周四增量备份失败”
fi
exit 5
;;
星期五|Friday)
innobackupex --user=root --password=‘QianFeng@123’ --incremental
a
d
d
d
i
r
−
−
i
n
c
r
e
m
e
n
t
a
l
−
b
a
s
e
d
i
r
=
/
m
y
s
q
l
/
f
u
l
l
/
add_dir --incremental-basedir=/mysql/full/
adddir−−incremental−basedir=/mysql/full/add1_dir/
if [ $? -eq 0 ];then
echo “周五增量备份完成”
else
echo “周五增量备份失败”
fi
exit 6
;;
星期六|Saturday)
innobackupex --user=root --password=‘QianFeng@123’ --incremental
a
d
d
d
i
r
−
−
i
n
c
r
e
m
e
n
t
a
l
−
b
a
s
e
d
i
r
=
/
m
y
s
q
l
/
f
u
l
l
/
add_dir --incremental-basedir=/mysql/full/
adddir−−incremental−basedir=/mysql/full/add1_dir/
if [ $? -eq 0 ];then
echo “周六增量备份完成”
else
echo “周六增量备份失败”
fi
exit 7
;;
星期天|Sunday)
rm -rf $back_up_dir*
if [ $? -eq 0 ];then
echo “删除此完全备份日期之前的所有完全备份!”
else
echo “删除失败”
fi
innobackupex --user=root --password=‘QianFeng@123’ /mysql/full
if [ $? -eq 0 ];then
echo “周日完全备份完成!”
else
echo “完全备份失败,请检查innobackupex命令是否安装”
fi
exit 2
;;
esac