直接上脚本

#!/bin/bash

#保留几天内的备份
KEEP_DAY=30
# 存档名称
FILE_PREFIX="mysql_backup_"
# 备份存档目录
BACKUP_DIR="/data/db_backup/mysql/backups"
# 新备份文件名
BACKUP_FILE="$BACKUP_DIR/$FILE_PREFIX$(date +%Y-%m-%d_%H%M%S).tgz"
# mysqldump所在路径
MYSQLDUMP="/usr/bin/mysqldump"
# 需要备份的数据库
DATABASES="*********"
# 数据库用户名
DB_USER="local"
# 数据库密码
DB_PASSWORD="*********"
# 备份日志
BACKUP_LOG="/data/db_backup/mysql/db_backup.log"

# 创建备份
if [ -f $BACKUP_FILE ]
then
   echo "[$BACKUP_FILE]文件已经存在!" >> $BACKUP_LOG
else
    $MYSQLDUMP --databases $DATABASES -u$DB_USER -p$DB_PASSWORD | gzip > $BACKUP_FILE
    echo "[$BACKUP_FILE]备份完成!" >> $BACKUP_LOG
fi
# 删除旧文件
find $BACKUP_DIR -mtime +30 -name "*.tgz" -exec rm -rf {} \;