MySQL备份脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
[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 @   study-notes  阅读(141)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示