admin 发表于 2025-3-7 12:35:25

备份 MySQL 指定数据库并删除10天前的备份文件

#!/bin/bash
# 备份 MySQL 数据库的脚本

#进入到备份文件目录
cd /home/backup/database/mysql/crontab_backup/shop_i3sh_com

# 定义变量
DB_USER="root"         # MySQL 用户名
DB_PASS="Q4Wz425jgy"         # MySQL 密码(建议使用root不会报错)
DB_NAME="shop"       # 要备份的数据库名
BACKUP_DIR="/home/backup/mysql/shop_i3sh_com/"   # 备份目录

# 创建备份目录(如果不存在)
mkdir -p $BACKUP_DIR

#进入到备份文件目录
cd $BACKUP_DIR

# 生成日期
DATE=$(date +'%Y-%m-%d-%H-%M-%S'_mysql_data)

# 运行备份命令    使用root备份 后面带参数锁定数据库
mysqldump -u$DB_USER -p$DB_PASS $DB_NAME >$BACKUP_DIR$DB_NAME-$DATE.sql --skip-lock-tables

#进入到备份文件目录
#cd /
#cd /home/backup/mysql/shop_i3sh_com/

#压缩备份文件
tar zcvf $BACKUP_DIR$DB_NAME-$DATE.sql.tar.gz $BACKUP_DIR$DB_NAME-$DATE.sql

#删除临时SQL文件
rm -f $BACKUP_DIR$DB_NAME-$DATE.sql


# 输出备份结果
echo "备份完成:$BACKUP_DIR$DB_NAME-$DATE.sql"

#删除10天前的备份文件-如果要删文件,又删出文件夹,那么就不用-type 参数a
find . -mtime +10 -type f -name "*" -exec \rm -f {} \;



















配合宝塔计划,在计划里面黏贴修改好的脚本 ,即可实现自动备份数据库。防止误操作

admin 发表于 2025-3-7 15:05:43

配合宝塔计划,在计划里面黏贴修改好的脚本 ,即可实现自动备份数据库。防止误操作
页: [1]
查看完整版本: 备份 MySQL 指定数据库并删除10天前的备份文件