dump备份mysql库

Auth: Jin

Date: 20140403

Content: 

 1 #!/bin/bash -
 2 ### auth: Jin
 3 ### date: 20140402
 4 ### Desc: 根据配置文件里的ip,端口(dblist文件格式为192.168.201.245:3303:sso:root:passwd),数据库名dump备份mysql数据,清理指定天前的备份文件,通过ssh隧道追加同步到其他IDC服务器上
 5 ### Usage: ./dump_mysqldatabase.sh 
 6 
 7 BACKDIR=/data/BackupPC/database
 8 LIST=${BACKDIR}/dblist
 9 BACKUPLOG=${BACKDIR}/dump_mysqldatabase.log
10 TODAY=`date +%F`
11 DELDAY=`date -d "7 day ago" +%F`
12 NUM=$(cat $LIST | wc -l)
13 DUMPBIN=/usr/local/mysql/bin/mysqldump
14 RSYNCBIN=/usr/bin/rsync
15 
16 function log ()
17 {
18 echo " " >> $BACKUPLOG
19 echo "###########################" >> $BACKUPLOG
20 echo "`date +%F/%T` $1" >> $BACKUPLOG
21 echo "###########################" >> $BACKUPLOG
22 }
23 
24 log START
25 
26 ### dump
27 for (( i=1; i<=$NUM; i=i+1 ));do
28         IP=$(sed -n "$i"p  $LIST | awk -F : '{print $1}')
29         PORT=$(sed -n "$i"p  $LIST | awk -F : '{print $2}')
30         DB=$(sed -n "$i"p  $LIST | awk -F : '{print $3}')
31         USER=$(sed -n "$i"p  $LIST | awk -F : '{print $4}')
32         PASSWD=$(sed -n "$i"p  $LIST | awk -F : '{print $5}')
33         ${DUMPBIN} -h${IP} -P${PORT} -u${USER} -p${PASSWD} ${DB} --opt | gzip -9 > ${BACKDIR}/db-${TODAY}.${DB}.sql.gz
34         if [ $? -eq 0 ];then
35                 echo "${IP} ${PORT} ${DB} backup Sucessful" >> $BACKUPLOG
36         else
37                 echo "${IP} ${PORT} ${DB} backup Fail" >> $BACKUPLOG
38         fi
39 done
40 
41 ### delete
42 for (( i=1; i<=$NUM; i=i+1 ));do
43         DB=$(sed -n "$i"p  $LIST | awk -F : '{print $3}')
44         rm -f ${BACKDIR}/db-${DELDAY}.${DB}.sql.gz
45         if [ -f "${BACKDIR}/db-${DELDAY}.${DB}.sql.gz" ]; then
46                 echo "${BACKDIR}/db-${DELDAY}.${DB}.sql.gz delete Fail" >> $BACKUPLOG
47         else
48                 echo "${BACKDIR}/db-${DELDAY}.${DB}.sql.gz delete OK" >> $BACKUPLOG
49         fi
50 done
51 
52 ### rsync to other IDC
53 ${RSYNCBIN} -av -e"ssh" ${BACKDIR}/ root@10.1.0.22:${BACKDDIR}/
54 if [ $? -eq 0 ];then
55         echo "JQ IDC rsync to ZJ IDC OK" >> $BACKUPLOG
56 else
57         echo "JQ IDC rsync to ZJ IDC Fail" >> $BACKUPLOG
58 fi
59 
60 log END

 

posted on 2014-04-03 14:36  @Jin  阅读(262)  评论(0编辑  收藏  举报

导航