#!/bin/bash
# 配置信息
DB_USER="root" # 数据库用户名
DB_PASS="your_password" # 数据库密码
BACKUP_DIR="/path/to/backup" # 备份文件存放目录
DATE=$(date +%Y%m%d_%H%M%S) # 当前日期时间,用于文件名
# 创建备份目录(如果不存在)
mkdir -p $BACKUP_DIR
# 备份所有数据库
mysqldump -u $DB_USER -p$DB_PASS --all-databases > $BACKUP_DIR/all_databases_$DATE.sql
# 压缩备份文件
gzip $BACKUP_DIR/all_databases_$DATE.sql
# 删除7天前的备份文件
find $BACKUP_DIR -name "all_databases_*.sql.gz" -type f -mtime +7 -delete
echo "Backup completed: $BACKUP_DIR/all_databases_$DATE.sql.gz"
0 2 * * * /path/to/mysql_backup.sh