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

mysql数据库备份脚本

2015-12-29 16:06 661 查看
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


本文出自 “鬼迷心窍” 博客,请务必保留此出处http://dragondragon.blog.51cto.com/6170889/1729577
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: