Bat ·

MySQL 数据库自动打包备份脚本,可设置保留天和备份日志

@echo off
color 5e
mode con cols=76 lines=30
REM -- 2014年12月28号 MYSQL服务器自动备份脚本-可设置保留天数
echo.
echo             ┏————————————————————————┓
echo             |                                                |
echo             |  MySQL 数据库自动备份脚本,可设置保留天数             |
echo             |                                                |
echo             |  今天是 %date% 时间是 %time%                     |
echo             |                                                |
echo             |   https://www.fooher.com/20170502_63.html      |
echo             |                                                |
echo             |  制作人:运维天涯     制作时间:2014年12月28号        |
echo             ┗————————————————————————┛
echo.
rem -- 安装7z后再设计备份参数
pause
rem ==================设置数据库备份参数配置--start--------------------

rem 设置服务器IP地址
set host=127.0.0.1

rem 设置数据库用户名
set DBUser=root

rem 设置数据库密码
set DBPasswd=123456

rem 设置数据库执行程序所在目录
set MySQL_Dir=D:\MySQL5.6

rem 设置数据库数据所在目录
set MySQLData=D:\MySQL5.6\Data

rem 设置数据库备份文件夹目录
set Backup_Dir=E:\BackUp

rem 设置要备份的数据库,多个用英文“,”分隔例如(db0,db1,db2)
set DBName=fooher_com

rem 设置数据库备份数量(自动剔除最早数据)
set dbmoon=60

rem 如果安装了7z就把它设置为1否则就为0
set go7z=0

rem 7z压缩执行程序路径
set do7z=C:\Program Files\7-Zip\7z.exe

rem WinRAR 执行程序路径
set WinRAR=C:\Program Files\WinRAR\Rar.exe

rem 设置数据库压缩格式如:rar 7z gz
set rargz7z=zip

rem ===================设置数据库备份参数配置--end-------------------------------------

set dt=%time:~0,2%
set dt=%dt: =0%
set Ymd=%date:~0,4%-%date:~5,2%-%date:~8,2%_%dt%.%time:~3,2%.%time:~6,2%
if not exist %Backup_Dir%\Data md %Backup_Dir%\Data
set ArchiveName="%Backup_Dir%\Data_%Ymd%.%rargz7z%"
d:
cd "D:\MySQL5.6"
echo y |xcopy /c /d /h /i /g /r /e /s /x /y "%DBName%" "%Backup_Dir%\%DBName%"
echo.
echo             ┏————————————————————————┓
echo             |                                                |
echo             |       正打包成%rargz7z%格式,请稍等..... !           |
echo             |                                                |
echo             ┗————————————————————————┛
echo.
mode con cols=73 lines=25 >nul 2>nul
if exist %WINRAR% (
"%WinRAR%" a -ep1 -r -o+ -m5 -p"%DBName%" -df %ArchiveName% "%Backup_Dir%\%DBName%\*"
for /f "skip=%dbmoon% tokens=*" %%i in ('dir "%Backup_Dir%" /o-n /a-d /b') do del "%Backup_Dir%\%%i" /f /s /q > nul
echo.
ping 127.0.0.1 -n 3 >nul
rd /s /q "%Backup_Dir%\%DBName%" >nul
)
cls
set times=1
echo.
echo.
(
echo.
echo                     ╭──────────────╮
echo            ╭───┤       数据库备份日志         ├────╮
echo           │       ╰───────────────╯         │
echo           │                                                  │
echo           │        *备份时间^(%date:~0,10% %time:~0,8%^)            │
echo           │                                                  │
echo           ╰─────────────────────────╯
echo.
echo ----------------------------------------------------
echo.
echo 备份日期:    %DATE% %TIME:~0,2%:%TIME:~3,2%:%TIME:~6,2%
echo 备份路径:    %Backup_Dir%
echo 备份数据库:  %DBName% 
echo 备份文件:    %DBName%_%Ymd%.%rargz7z% 
echo.
echo ----------------------------------------------------
echo.
)>>"%Backup_Dir%\备份日志_%Ymd%.txt"
goto :eof

 

评论已关闭