windows的mysql备份压缩并删除七天前的文件

要在Windows系统上备份MySQL数据库并将其压缩,还要删除七天前的备份文件,你可以在原有批处理脚本的基础上添加压缩功能。这里使用Windows内置的tar命令(Windows 10及以上版本支持)进行压缩。

1. 创建备份并压缩的脚本

@echo off

:: 配置部分
set db_user=root
set db_password=your_password
set db_name=your_database
set backup_path=C:\mysql_backups
set mysqldump_path="C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqldump.exe"
set date=%date:~0,4%-%date:~5,2%-%time:~0,2%-%time:~3,2%-%time:~6,2%
set filename=%db_name%_%date%

:: 创建备份目录(如果不存在)
if not exist "%backup_path%" (
    mkdir "%backup_path%"
)

:: 执行备份
%mysqldump_path% -u%db_user% -p%db_password% %db_name% > "%backup_path%\%filename%.sql"

:: 压缩备份文件为tar.gz格式,需要电脑有tar命令
:: tar -czf "%backup_path%\%filename%.tar.gz" -C "%backup_path%" "%filename%.sql"

:: windows自带命令压缩,直接压缩原有文件
compact /c "%backup_path%\%filename%.sql

:: 解压缩备份文件
:: compact /u "%backup_path%\%filename%

:: 删除原始的SQL文件,配合tar压缩方式使用
:: del "%backup_path%\%filename%.sql"

:: 删除七天前的备份文件
forfiles /p "%backup_path%" /s /m *.tar.gz /d -7 /c "cmd /c del @path"

:: 完成
echo Backup, compression, and cleanup completed.

2. 修改脚本中的配置

与之前相同:

  • db_user:MySQL的用户名。
  • db_password:MySQL用户的密码。
  • db_name:要备份的数据库名称。
  • backup_path:备份文件的存储路径。
  • mysqldump_pathmysqldump工具的路径。

3. 运行脚本

将上述脚本保存为.bat文件(例如mysql_backup_compress.bat),然后双击运行即可执行备份、压缩和清理操作。

4. 设置定时任务

与前面一样,你可以使用Windows任务计划程序来定期运行这个脚本,确保MySQL备份自动化并且保持备份文件管理良好。

这个脚本完成了以下任务:

  • 生成MySQL数据库的备份。
  • 将备份压缩为.tar.gz文件。
  • 删除七天前的备份文件,以确保存储空间的合理使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

iangyu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值