服务器mysql数据的简单备份脚本
服务器mysql数据的简单备份脚本
一个小型项目mysql数据库数据的定时备份
- 通过crontab定时执行脚本: 0 1 * * * /home/yuyu/mysqlbak.sh
- 备份文件加入时间戳,防止覆盖
- 支持删除超过x天的备份数据文件,防止备份数据文件太多
#!/bin/bash# 配置变量
DB_HOST="127.0.0.1" # 数据库主机
DB_USER="root" # 数据库用户名
DB_PASS="xxxxxxx" # 数据库密码
DB_NAME="dbname" # 数据库名称
BACKUP_DIR="/app/sql" # 备份文件保存目录
DATE=$(date +"%Y%m%d") # 当前日期(格式:YYYYMMDD)# 创建备份目录(如果不存在)
mkdir -p $BACKUP_DIR# 备份文件名
BACKUP_FILE="$BACKUP_DIR/$DB_NAME-$DATE.sql"# 使用 mysqldump 备份数据库
mysqldump -h $DB_HOST -u $DB_USER -p$DB_PASS $DB_NAME > $BACKUP_FILE# 检查备份是否成功
if [ $? -eq 0 ]; thenecho "数据库备份成功:$BACKUP_FILE"
elseecho "数据库备份失败!"exit 1
fi# 删除超过 7 天的备份文件,按自己需求调整
find $BACKUP_DIR -type f -name "$DB_NAME-*.sql" -mtime +7 -exec rm {} \;
echo "旧的备份文件已清理。"