学习完shell 后就该能完全能看懂。
#!/bin/bash
SQL_USR=“数据库用户”
SQL_PWD=“数据库密码”
BAK_DIR="/home/data_bak/full_amount"
INC_DIR="/home/data_bak/increment"
ALL_BAK_FILE=ls -c /home/data_bak/full_amount/|head -1
case $1 in
all_backup)
if [ ! -d $BAK_DIR ];then
mkdir -p $BAK_DIR
fi
find
B
A
K
D
I
R
−
m
t
i
m
e
+
30
−
e
x
e
c
r
m
−
r
f
i
n
n
o
b
a
c
k
u
p
e
x
−
−
u
s
e
r
=
BAK_DIR -mtime +30 -exec rm -rf {} \; innobackupex --user=
BAKDIR−mtime+30−execrm−rfinnobackupex−−user=SQL_USR --password=$SQL_PWD --socket=/tmp/mysql.sock $BAK_DIR >/dev/null 2>&1
if [ $? -eq 0 ];then
echo “-------------------------------------------------------------------” >> /var/log/mysql_bak.log
echo "date +%F
The MYSQL DB $SQL_DB backup success." >> /var/log/mysql_bak.log
echo “ls -l $BAK_DIR/” >> /var/log/mysql_bak.log
ls -l $BAK_DIR >> /var/log/mysql_bak.log
exit 0
else
echo “-------------------------------------------------------------------” >> /var/log/mysql_bak.log
echo "date +%F
The MYSQL DB $SQL_DB backup falied." >> /var/log/mysql_bak.log
fi
;;
inc_backup)
if [ ! -d $INC_DIR ];then
mkdir -p $INC_DIR
fi
find
I
N
C
D
I
R
−
m
t
i
m
e
+
30
−
e
x
e
c
r
m
−
r
f
i
n
n
o
b
a
c
k
u
p
e
x
−
−
u
s
e
r
=
INC_DIR -mtime +30 -exec rm -rf {} \; innobackupex --user=
INCDIR−mtime+30−execrm−rfinnobackupex−−user=SQL_USR --password=
S
Q
L
P
W
D
−
−
s
o
c
k
e
t
=
/
t
m
p
/
m
y
s
q
l
.
s
o
c
k
−
−
i
n
c
r
e
m
e
n
t
a
l
−
b
a
s
e
d
i
r
=
SQL_PWD --socket=/tmp/mysql.sock --incremental-basedir=
SQLPWD−−socket=/tmp/mysql.sock−−incremental−basedir=BAK_DIR/$ALL_BAK_FILE --incremental $INC_DIR
if [ $? -eq 0 ];then
echo “-------------------------------------------------------------------” >> /var/log/mysql_bak.log
echo "date +%F
The MYSQL DB $SQL_DB backup success." >> /var/log/mysql_bak.log
echo “ls -l $INC_DIR/” >> /var/log/mysql_bak.log
ls -l $INC_DIR >> /var/log/mysql_bak.log
exit 0
else
echo “--------------------------------------------------------------------” >> /var/log/mysql_bak.log
echo "date +%F
The MYSQL DB $SQL_DB backup falied." >> /var/log/mysql_bak.log
fi
;;
esac