欢迎光临
我们一直在努力

压缩备份数据库与网站数据(mysql不停止的方法)简易实用BAT

    由于公司windows服务器上的MySQL备份一直没采用第三方热备工具,备份方式仍旧是比较LOW的零晨直接停掉Mysql进行数据库文件COPY备份的(BAT脚本),近期反馈客户零晨网站间断打不开,影响访问体验度,于是需要整改,于是下载了一个三方工具好备份,设置定时备份,测试发现其所谓的压缩热备方式(看上去很高大尚,确实设置简单易用),其实就是将数据库文件复制到一个临时目录,再进行压缩存放并删掉临时目录文件,于是产生了写一个BAT脚本替代安装这个工具(也可以偷懒了)计划任务都是设置好的,替换原来比较LOW的脚本即可,无需要动其它任务配置,加上安装好备份每台还要点点点,服务器较多,于是写了如下脚本:时间紧脚本还可以优化改进,勿喷!!!

@echo off
::Author: jerry
::Date:2018-11-20
echo.
echo MySQL数据库及网站程序备份脚本
echo
echo Author: jerry
echo Date:2018-11-20
echo 备份日期:%date%
echo 备份时间:%time%
echo.
echo

set "Ymd=%date:~,4%%date:~5,2%%date:~8,2%"
set bakdir="D:\Program Files\MySQL51\data"
set sqlcache="C:\mysqlcache"
set webdir="E:\wwwroot"
echo 正在进入MySQL目录。注意:对于有空格的目录,命令行要加引号。"C:\Program Files"
echo 正在备份Mysql数据,请稍等……
if not exist "%sqlcache%" mkdir "%sqlcache%"
for /F %%a in (‘dir /ad /b %bakdir%’) do (
::echo "%bakdir%\%%a %sqlcache%\%%a" >>a.log
if not exist "%sqlcache%\%%a" mkdir "%sqlcache%\%%a"
xcopy "D:\Program Files\MySQL51\data"\%%a "C:\mysqlcache"\%%a /s /E /y >nul
)
if not exist "F:\mysqlbak\%Ymd%" mkdir "F:\mysqlbak\%Ymd%"
for /f "usebackq tokens=1 delims=/" %%a in (dir /b %sqlcache%) do "C:\Program Files (x86)\WinRAR\WinRAR.exe" a -ep1 -r0 -df -exit — "F:\mysqlbak\%Ymd%\%%a.rar" %sqlcache%\%%a
echo 数据库备份完成……
echo.
echo 网站数据备份中,请稍后……
if not exist "F:\freehostbackup\%Ymd%" mkdir "F:\freehostbackup\%Ymd%"
for /f "usebackq tokens=1
delims=/" %%i in (dir /b %webdir%) do "C:\Program Files (x86)\WinRAR\WinRAR.exe" a -ep1 -r0 -exit — "F:\freehostbackup\%Ymd%\%%i.rar" %webdir%\%%i
echo.

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。