[root@CHN-BJ-YJ-DB-MALL-02 ~]# cat /data/db_bak/xtrabackup_192.168.1.121_v1.5.sh
#!/bin/sh
#created by zhangluya
#Date:2015-02-04
#Info:Script about mysql backup
source /etc/profile
DBuser="root"
DBpasswd="111111"
BAK_dir="/data/db_bak"
MYSQL="/data1/mysq/bin/mysql"
CNF_dir="/etc/my.cnf"
LOCAL_IP="192.168.1.1"
INNOBACKUPEX="/usr/local/xtrabackup/bin/innobackupex"
if [ ! -d $BAK_dir ];then
/bin/mkdir -p $BAK_dir
fi
echo "-----------------------------------------------------------------------------------" > ${BAK_dir}/${LOCAL_IP}.log
echo "Start Backup Time: `date +'%F %T'`" >> ${BAK_dir}/${LOCAL_IP}.log
#Backup Mysql
$INNOBACKUPEX --defaults-file=${CNF_dir} --host=127.0.0.1 --user=$DBuser --password=$DBpasswd $BAK_dir >> $BAK_dir/bak_`date +%Y-%m-%d`.log 2>&1
echo "Mysql Backup Finished Time: `date +'%F %T'`" >> ${BAK_dir}/${LOCAL_IP}.log
cd ${BAK_dir}/
/bin/tar zcf bak_`date +%Y-%m-%d`.tar.gz *`date +%Y-%m-%d`*
md5sum bak_`date +%Y-%m-%d`.tar.gz|awk '{print $1}' > bak_`date +%Y-%m-%d`_MD5
/bin/rm -rf `date +"%Y-%m-%d" -d "-1 days"`*
echo "Tar Backup Finished Time: `date +'%F %T'`" >> ${BAK_dir}/${LOCAL_IP}.log
scp -l 100000 ${BAK_dir}/bak_`date +%Y-%m-%d`.tar.gz root@192.168.1.126:/data/all_db_bak/192.168.1.121/
if [ $? = 0 ];then
echo "scp ${BAK_dir}/bak_`date +%Y-%m-%d`.tar.gz is finished~" >> ${BAK_dir}/${LOCAL_IP}.log
fi
#md5 check
Remote_md5=`ssh root@192.168.1.126 "md5sum /data/all_db_bak/192.168.1.1/bak_$(date +%F).tar.gz"|awk '{print $1}'`
Local_md5=`cat bak_$(date +%F)_MD5`
if [[ ${Remote_md5} == ${Local_md5} ]];then
echo "bak_`date +%Y-%m-%d`.tar.gz--->check md5 is ok~ ^_^" >> ${BAK_dir}/${LOCAL_IP}.log
else
echo "sync backup file is error~ try again~ -_-!" >> ${BAK_dir}/${LOCAL_IP}.log
fi
#delete old data
rm -rf ${BAK_dir}/bak_`date +"%Y-%m-%d" -d "-5 days"`*
du -sh /data/db_bak/*|grep .tar.gz >> ${BAK_dir}/${LOCAL_IP}.log 2>&1
echo "-----------------------------------------------------------------------------------" ${BAK_dir}/${LOCAL_IP}.log
#send mail~
mail -s "192.168.1.1 db-mall-02" zhangluya@hichao.com < ${BAK_dir}/${LOCAL_IP}.log