#!/bin/sh
# Name:mysqlbackup.sh
# PS:MySQL DataBase Backup,Use mysqlhotcopy script.
# Last Modify:2008-06-12
# 定义变量,请根据具体情况修改
# 定义脚本所在目录
scriptsDir=`pwd`
# 数据库的数据目录
dataDir=/var/lib/mysql
# 数据备份目录
tmpBackupDir=/tmp/mysqlblackup
backupDir=/Software/backup/mysql
# 用来备份数据库的用户名和密码
mysqlUser=root
mysqlPWD=820411
# 如果临时备份目录存在,清空它,如果不存在则创建它
if [[ -e $tmpBackupDir ]]; then
rm -rf $tmpBackupDir/*
else
mkdir $tmpBackupDir
fi
# 如果备份目录不存在则创建它
if [[ ! -e $backupDir ]];then
mkdir $backupDir
fi
# 得到数据库备份列表,在此可以过滤不想备份的数据库
for databases in `ls -p /var/lib/mysql | grep / | tr -d / | \
sed -e "s/test//"`
do
# 备份数据库
/usr/bin/mysqlhotcopy --user=$mysqlUser --password=$mysqlPWD -q "$databases" $tmpBackupDir
dateTime=`date "+%Y.%m.%d %H:%M:%S"`
echo "$dateTime Database:$databases backup success!" >>$backupDir/MySQLBackup.log
done
# 压缩备份文件
date=`date -I`
cd $tmpBackupDir
tar czf $backupDir/mysql-$date.tar.gz ./
#备份完成
cd $backupDir
find ./ -atime +7 | xargs rm -rf {}
#删除创建时间超过7天的文件
rm -fr $tmpBackupDir
#清除临时文件夹