mysql一键批量备份压缩.bat可以设置windows计划任务自动备份

mysql一键批量备份压缩.bat可以设置windows计划任务自动备份

 

 

脚本描述:

1、多个数据库名定义在文件中,脚本通过读取文件,循环获得数据库名称,进行备份

2、备份sql存储在以时间命名的文件夹中,自动压缩并删除压缩前的文件

3、删除前7天的备份文件

具体脚本信息如下:

 

@echo off
:: 使用mysqldump逐个备份所有数据库到指定目录
:: 注意,实现把所有数据库逐行写入database_info.txt文件,并且该文件和数据库备份目录在同一级
 
:: 数据库备份目录 

 

 

 

###########################注意:
:: lyy_db_back.bat 配置四项:
::1.要配置数据库ip,账号,密码,端口
::2.database_info.txt 里写好数据库名,每行一个
::3.mysql bin加进环境变量
::4.压缩包可执行文件路径

如果想自动运行,加入windows计划任务定时执行即可。内部具体怎么设置都写到里面了很清楚了。有问题联系博主。

也可以直接下载我保存好的.bat文件:https://download.csdn.net/download/forest_fire/13256026

@echo off
:: 使用mysqldump逐个备份所有数据库到指定目录
:: 注意,实现把所有数据库逐行写入database_info.txt文件,并且该文件和数据库备份目录在同一级,
::lyy干脆这个bat文件也放到C:\MySQL_Back 这个目录好了。
::mysql可以执行文件路径加进系统环境变量path里,否则找不到mysql命令如: D:\wamp2\bin\mysql\mysql5.5.8\bin;

:: lyy_db_back.bat 配置四项:
::1.存放备份文件的目录。要配置数据库ip,账号,密码,端口
::2.database_info.txt 里写好数据库名,每行一个
::3.mysql bin加进环境变量
::4.压缩包可执行文件路径

setlocal ENABLEDELAYEDEXPANSION
:: 数据库备份目录
set "base_dir=C:\MySQL_Back"
set ip=127.0.0.1
set user=root
set pass=Zty888
set port=3306
set "Ymd=%date:~0,4%%date:~5,2%%date:~8,2%0%time:~1,1%%time:~3,2%%time:~6,2%"
 
:: 存储数据库名,循环使用
set "dbFiles=%base_dir%\database_info.txt"
 
:: 保存sql备份成功和失败的数据库
echo backup success info > %base_dir%\backup_success.txt
echo backup fail info > %base_dir%\backup_fail.txt
 
set "successFile=%base_dir%\backup_success.txt"
set "failFile=%base_dir%\backup_fail.txt"
 
:: 以当前时间命名创建目录
md %base_dir%\%Ymd%_sql
 
:: 删除7天以前以 _sql.rar 结尾的文件
forfiles /p %base_dir% /m "*_sql.rar" /d -7 /c "cmd /c if @isdir==TRUE (rmdir /q /s @path) else (del /f @path)" >nul 2>nul
 
:: 备份,Utils下有mysqldump工具
cd /d "%base_dir%\Utils"
echo MySQL Start Backup...
for /f %%i in (%dbFiles%) do (
    set db=%%i
    echo !db!
    mysqldump --no-defaults --force -h%ip% -u%user% -p%pass% -P%port% --databases !db! > %base_dir%\%Ymd%_sql\!db!.sql 2>nul
    :: 判断 备份成功或失败记录到相关文件
    if errorlevel 0 (
        echo !db! Backup finished. >> %successFile%
    ) else (
        echo !db! Backup fail. >> %failFile%
    ) 
    
)
echo MySQL Backup complete!

 
:: 使用Rar工具压缩,取决于服务器安装了什么压缩软件,是否启用压缩,lyy去掉注释,配好winrar路径就可以。单次备份可以不用压缩和删除原sql文件

::echo Compressing file, please wait...
::lyy 路径可以改成压缩包的可执行程序的路径
::"D:\Program Files\WinRAR\Rar.exe" a -ep1 "%base_dir%\%Ymd%_sql.rar" "%base_dir%\%Ymd%_sql" 2>nul
::echo Compressed file complete!
::rmdir /q /s %base_dir%\%Ymd%_sql
pause

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

北方的刀郎

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

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

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

打赏作者

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

抵扣说明:

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

余额充值