壓縮備份數據庫與網站數據(mysql不中止的方法)簡易實用BAT

因爲公司windows服務器上的MySQL備份一直沒采用第三方熱備工具,備份方式仍舊是比較LOW的零晨直接停掉Mysql進行數據庫文件COPY備份的(BAT腳本),近期反饋客戶零晨網站間斷打不開,影響訪問體驗度,因而須要整改,因而下載了一個三方工具好備份,設置定時備份,測試發現其所謂的壓縮熱備方式(看上去很高大尚,確實設置簡單易用),其實就是將數據庫文件複製到一個臨時目錄,再進行壓縮存放並刪掉臨時目錄文件,因而產生了寫一個BAT腳本替代安裝這個工具(也能夠偷懶了)計劃任務都是設置好的,替換原來比較LOW的腳本便可,無須要動其它任務配置,加上安裝好備份每臺還要點點點,服務器較多,因而寫了以下腳本:時間緊腳本還能夠優化改進,勿噴!!!

壓縮備份數據庫與網站數據(mysql不中止的方法)簡易實用BAT

@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.
壓縮備份數據庫與網站數據(mysql不中止的方法)簡易實用BAT
壓縮備份數據庫與網站數據(mysql不中止的方法)簡易實用BATmysql

壓縮備份數據庫與網站數據(mysql不中止的方法)簡易實用BAT

相關文章
相關標籤/搜索