|
|
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
| #!/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 +3 -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
|
|
|
|
|
|
|
|
|