您的位置:首页 > 数据库 > MySQL

dump备份mysql库

2014-04-03 14:36 381 查看
Auth: Jin

Date: 20140403

Content:

#!/bin/bash -
### auth: Jin
### date: 20140402
### Desc: 根据配置文件里的ip,端口(dblist文件格式为192.168.201.245:3303:sso:root:passwd),数据库名dump备份mysql数据,清理指定天前的备份文件,通过ssh隧道追加同步到其他IDC服务器上
### Usage: ./dump_mysqldatabase.sh

BACKDIR=/data/BackupPC/database
LIST=${BACKDIR}/dblist
BACKUPLOG=${BACKDIR}/dump_mysqldatabase.log
TODAY=`date +%F`
DELDAY=`date -d "7 day ago" +%F`
NUM=$(cat $LIST | wc -l)
DUMPBIN=/usr/local/mysql/bin/mysqldump
RSYNCBIN=/usr/bin/rsync

function log ()
{
echo " " >> $BACKUPLOG
echo "###########################" >> $BACKUPLOG
echo "`date +%F/%T` $1" >> $BACKUPLOG
echo "###########################" >> $BACKUPLOG
}

log START

### dump
for (( i=1; i<=$NUM; i=i+1 ));do
IP=$(sed -n "$i"p  $LIST | awk -F : '{print $1}')
PORT=$(sed -n "$i"p  $LIST | awk -F : '{print $2}')
DB=$(sed -n "$i"p  $LIST | awk -F : '{print $3}')
USER=$(sed -n "$i"p  $LIST | awk -F : '{print $4}')
PASSWD=$(sed -n "$i"p  $LIST | awk -F : '{print $5}')
${DUMPBIN} -h${IP} -P${PORT} -u${USER} -p${PASSWD} ${DB} --opt | gzip -9 > ${BACKDIR}/db-${TODAY}.${DB}.sql.gz
if [ $? -eq 0 ];then
echo "${IP} ${PORT} ${DB} backup Sucessful" >> $BACKUPLOG
else
echo "${IP} ${PORT} ${DB} backup Fail" >> $BACKUPLOG
fi
done

### delete
for (( i=1; i<=$NUM; i=i+1 ));do
DB=$(sed -n "$i"p  $LIST | awk -F : '{print $3}')
rm -f ${BACKDIR}/db-${DELDAY}.${DB}.sql.gz
if [ -f "${BACKDIR}/db-${DELDAY}.${DB}.sql.gz" ]; then
echo "${BACKDIR}/db-${DELDAY}.${DB}.sql.gz delete Fail" >> $BACKUPLOG
else
echo "${BACKDIR}/db-${DELDAY}.${DB}.sql.gz delete OK" >> $BACKUPLOG
fi
done

### rsync to other IDC
${RSYNCBIN} -av -e"ssh" ${BACKDIR}/ root@10.1.0.22:${BACKDDIR}/
if [ $? -eq 0 ];then
echo "JQ IDC rsync to ZJ IDC OK" >> $BACKUPLOG
else
echo "JQ IDC rsync to ZJ IDC Fail" >> $BACKUPLOG
fi

log END
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: