#!/bin/bash
# 要备份的数据库名,多个数据库用空格分开
databases=(test)
# 备份文件要保存的目录
basepath='/usr/local/mysqlbak/'
if [ ! -d "$basepath" ]; then
mkdir -p "$basepath"
fi
# 循环databases数组
for db in ${databases[*]}
do
cd $basepath
# 备份数据库生成SQL文件
/usr/bin/mysqldump -uroot -p密码 $db > $db-$(date +%Y%m%d).sql
# 将生成的SQL文件压缩
/bin/tar zcvf $db-$(date +%Y%m%d).sql.tar.gz $db-$(date +%Y%m%d).sql
# 删除7天之前的备份数据
find $basepath -mtime +7 -name "*.sql.tar.gz" -exec rm -rf {} \;
done
# 删除生成的SQL文件
rm -rf $basepath/*.sql