mysql数据库备份脚本

mysql备份脚本


#!/bin/bash
## Author: liwenlong
## 2015年12月29日
## Description: 备份文件,智慧童行卡数据库备份
################数据库备份脚本#######################
USER=backup       ##数据库连接用户
PASSWD="*********"          ##数据库连接密码
DATABASE="test test3 test4" ##数据库名,如果要新增需要备份的数据库,添加即可;
HOSTNAME="192.168.1.47"     ##服务器IP地址
PORT="3306"       ##数据库端口   
BACKUP_DIR=/home/backup/mysql_backup/       ##备份目录
OPTION="  -h$HOSTNAME -P $PORT -u$USER -p$PASSWD  "   
TIME=`date +%F-%H:%M:%S`     ##年月日时分秒
BACKUP_LOG_FILE=/var/log/mysql_backup.log   ##日志文件,手动创建
DELETE_LOG_FILE=/var/log/mysql_delete.log   ##日志文件,手动创建
######################################################
##################创建数据库备份目录##################
for i in $DATABASE ; do ##如果目录不存在,创建目录 
if [ ! -d $BACKUP_DIR$i ] ; then
mkdir  -p $BACKUP_DIR$i
fi
done
##########################备份数据库##################
for i in $DATABASE ; do
mysqldump $OPTION  $i | bzip2 -c    > $BACKUP_DIR$i/$i-$TIME.sql.bz2
if [[ $? == 0 ]]; then 
#如果数据库备份成功,写入日志文件;
echo " $BACKUP_DIR$i backup Successful! $TIME" >> $BACKUP_LOG_FILE 
else ##否则写入错误日志文件;
echo " $BACKUP_DIR$i backup Fail... $TIME "  >> $BACKUP_LOG_FILE
fi
done
###########删除一个月之前的备份文件########################
for i in $DATABASE ; do
find $BACKUP_DIR$i/ -mtime +30 -type f | xargs rm -f
if [[ $? == 0 ]]; then
        ##删除一个月前的数据库,写入日志文件 
                echo " $BACKUP_DIR$i delete  Successful! $TIME" >> $DELETE_LOG_FILE
        else
                echo " $BACKUP_DIR$i delete   Fail... $TIME "  >> $DELETE_LOG_FILE
        fi
done


你可能感兴趣的:(服务器,数据库连接,数据库备份,IP地址,年月日)