Linux MySQL 定时备份脚本并删除3天的备份文件

该脚本详细展示了如何使用bash脚本实现MySQL数据库的定时备份,并自动删除超过三天的旧备份。脚本中包含了数据库连接信息、备份路径设置以及备份和删除操作。通过mysqldump命令进行数据库备份,同时利用find命令根据mtime参数删除旧备份,确保备份目录只保留最近三天的文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

MySQL 定时备份脚本并删除前3天的备份文件

数据库基本信息

其他信息

备份数据库

保留三天的备份,删除三天外的备份文件。

注:设置mysql——bin目录的主要原因是:防止找不命令行。

备份目录要提前创建

mkdir -p  /home/database_bak/mysql_bak/
cd /home/database_bak
mkdir mysql_bak

#!/bin/bash

# 数据库基本信息
DB_USER="root"                          #用户名
DB_PASS="password"                      #密码
DB_HOST="ip地址"                 		#IP地址 
DB_ZFBM="--default-character-set=utf8" 	#设置字符编码

# 其他信息
BIN_DIR="/home/mysql/mysql-5.7.27-linux-glibc2.12-x86_64/bin/"  #mysql bin 路径
BCK_DIR="/home/database_bak/mysql_bak/"    						#备份目录
DATE=`date +%F`													#获取时间

#备份单个数据库
/$BIN_DIR/mysqldump --opt -u${DB_USER}  -p${DB_PASS} -h $DB_HOST data | gzip >/$BCK_DIR/db_mysql_`date +%F`.sql.gz

#备份全部业务数据库
/$BIN_DIR/mysqldump --opt -u${DB_USER}  -p${DB_PASS} -h $DB_HOST  data | gzip >/$BCK_DIR/db_data_`date +%F`.sql.gz
/$BIN_DIR/mysqldump --opt -u${DB_USER}  -p${DB_PASS} -h $DB_HOST  data | gzip >/$BCK_DIR/db_data_`date +%F`.sql.gz
/$BIN_DIR/mysqldump --opt -u${DB_USER}  -p${DB_PASS} -h $DB_HOST  data | gzip >/$BCK_DIR/db_data_`date +%F`.sql.gz
/$BIN_DIR/mysqldump --opt -u${DB_USER}  -p${DB_PASS} -h $DB_HOST  data | gzip >/$BCK_DIR/db_data_`date +%F`.sql.gz
/$BIN_DIR/mysqldump --opt -u${DB_USER}  -p${DB_PASS} -h $DB_HOST  data | gzip >/$BCK_DIR/db_data_`date +%F`.sql.gz

#备份全数据库
/$BIN_DIR/mysqldump --opt -u${DB_USER}  -p${DB_PASS} -h $DB_HOST  --all-databases >/$BCK_DIR/db_bakmysql_`date +%F`.sql.gz

#保留三天的备份,删除三天外的备份文件。
find $BCK_DIR -name "db_*.gz" -type f -mtime +3 -exec rm -rf {} \; > /dev/null 2>&1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值