#!/bin/bash
# 定义备份相关的变量
DB_HOST="localhost" # 数据库主机名
DB_USER="username" # 数据库用户名
DB_PASSWORD="password" # 数据库密码
DB_NAME="database_name" # 要备份的数据库名称
BACKUP_DIR="/path/to/backup/directory" # 备份文件存储目录
MAX_BACKUPS=7 # 最多保留的备份文件数
DATE=$(date '+%Y-%m-%d_%H-%M-%S') # 当前日期和时间,用于备份文件的命名
# 创建备份目录
mkdir -p $BACKUP_DIR
# 使用 mysqldump 命令备份数据库到指定目录
mysqldump -h $DB_HOST -u $DB_USER -p$DB_PASSWORD $DB_NAME > $BACKUP_DIR/$DB_NAME-$DATE.sql
# 检查备份是否成功
if [ $? -eq 0 ]; then
echo "数据库备份成功!备份文件保存在: $BACKUP_DIR/$DB_NAME-$DATE.sql"
else
echo "数据库备份失败!"
fi
# 查找并删除旧备份文件
find $BACKUP_DIR -type f -name "$DB_NAME-*.sql" -mtime +$MAX_BACKUPS -delete
echo "已删除 $MAX_BACKUPS 天前的备份文件。"
创建定时任务
crontab -e
0 0 * * * /path/to/backup_script.sh