MySQL备份脚本

[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

  

posted @ 2015-05-27 15:48  study-notes  阅读(135)  评论(0编辑  收藏  举报