Windows: creare un backup di mysql

Alcuni giorni fa, mi è servito creare un sistema di backup (dump mysql) per un cliente che usa windows con Ampps.

Ho trovato alcuni esempi onLine, relativi a script BAT ma nessuno che facesse al caso mio. Alla fine ne ho modificati alcuni e ne è venuto fuori questo:
@echo off

set dbUser=root
set dbPassword=PASS_WORD
set backupDir="C:\Ampps\backup\mysql"
set mysqldump="C:\Ampps\mysql\bin\mysqldump.exe"
set mysqlDataDir="C:\Ampps\mysql\data"
set zip="C:\Ampps\ampps\bin\7za.exe"

: get date
for /F "tokens=1-3 delims=\/ " %%i in ('date /t') do (
set dd=%%i
set mon=%%j
set yy=%%k
)

set hh=%time:~0,2%
if "%hh:~0,1%" == " " set hh=0%hh:~1,1%
set min=%time:~3,2%
if "%min:~0,1%" == " " set min=0%min:~1,1%

set dirName=%yy%%mon%%dd%_%hh%%min%

echo Procedo su %dirName%

:: switch to the "data" folder
pushd %mysqlDataDir%

:: iterate over the folder structure in the "data" folder to get the databases
for /d %%f in (*) do (

if not exist %backupDir%\%dirName%\ (
mkdir %backupDir%\%dirName%
)

%mysqldump% --host="localhost" --user=%dbUser% --single-transaction --add-drop-table --databases %%f > %backupDir%\%dirName%\%%f.sql

%zip% a -tzip %backupDir%\%dirName%\%%f.sql.gz %backupDir%\%dirName%\%%f.sql

del %backupDir%\%dirName%\%%f.sql
)
popd

enjoy!

Se hai trovato utili le informazioni su questo blog,
Fai una donazione!
Clicca sul bottone qui sotto o almeno clicca sul banner pubblicitario 🙂



Taggato su: , , ,

Commenta