1.备份脚本
#!/bin/bash
# 备份目录
BACKUP_DIR="/data/mysql_backup"
# MySQL用户名
MYSQL_USER="root"
# MySQL密码
MYSQL_PASSWORD="xxx"
# MySQL主机
MYSQL_HOST="localhost"
# Mysql端口号
MYSQL_PORT=13306
# 要备份的数据库名
DATABASE_NAME="xxx"
# 保留备份天数
DAYS_TO_KEEP=7# 创建备份目录(如果不存在)
mkdir -p $BACKUP_DIR# 备份文件名
DATE=$(date +%Y%m%d_%H%M%S)
BACKUP_FILE="$BACKUP_DIR/${DATABASE_NAME}_${DATE}.sql.gz"# 执行备份
mysqldump -h $MYSQL_HOST -P $MYSQL_PORT -u $MYSQL_USER -p$MYSQL_PASSWORD $DATABASE_NAME | gzip > $BACKUP_FILE# 检查备份是否成功
if [ $? -eq 0 ]; then
echo "数据库备份成功: $BACKUP_FILE"
else
echo "数据库备份失败"
exit 1
fi# 删除旧备份
find $BACKUP_DIR -name "${DATABASE_NAME}_*.sql.gz" -type f -mtime +$DAYS_TO_KEEP -delete
2.配置定时任务
0 3 * * * /data/mysql_backup/mysql_backup.sh > /data/mysql_backup/mysql_backup.log 2>&1