自动备份MySQL的shell脚本

以下内容是ChatGPT的回答:

下面是一个自动备份MySQL的shell脚本示例:

#!/bin/bash

# 数据库信息
DB_HOST="localhost"
DB_USER="root"
DB_PASSWORD="password"
DB_NAME="database_name"

# 备份文件目录
BACKUP_DIR="/path/to/backup"

# 备份文件名
BACKUP_FILE="$BACKUP_DIR/$(date +%Y-%m-%d-%H-%M-%S).sql"

# 创建备份目录
mkdir -p "$BACKUP_DIR"

# 使用 mysqldump 命令备份数据库
mysqldump --host=$DB_HOST --user=$DB_USER --password=$DB_PASSWORD $DB_NAME > $BACKUP_FILE

# 检查备份是否成功
if [ $? -eq 0 ]; then
    echo "Database backup successfully created: $BACKUP_FILE"
else
    echo "Error creating database backup"
fi

# 删除过期的备份文件,保留最近7天的备份
find $BACKUP_DIR -mtime +7 -type f -delete

在使用此脚本前,请确保已经安装了MySQL和mysqldump命令。然后将脚本中的DB_HOST、DB_USER、DB_PASSWORD和DB_NAME替换为实际的数据库信息,将BACKUP_DIR替换为备份文件存放的目录。

脚本会在指定的备份目录下创建一个以当前日期和时间命名的备份文件,并使用mysqldump命令备份指定的数据库。备份完成后,会输出备份文件的路径,如果备份失败则会输出错误信息。

脚本还包含一部分代码用于删除过期的备份文件,保留最近7天的备份。可以根据需要调整这一部分代码来控制备份文件的保留时间。

Back to Top