Mysql backup отдельно каждую базу (Windows)

Материал из rrv-wiki
Перейти к навигации Перейти к поиску


Скрипт:

@echo off

REM Скрипт делает dump всех баз mysql в отдельные файлы
REM затем архивирует в один файл

REM "^" В коные строки это перенос строки, аналог "\" в bash

Set /A YYYYMMDD=%Date:~6,4%%Date:~3,2%%Date:~0,2%

mkdir v:\backup\%YYYYMMDD%-mysql

mysql -u root --password="<PASS>" -s -N -e "SHOW DATABASES" | ^
for /F "usebackq" %%D in (`C:\Windows\System32\findstr /V "information_schema performance_schema"`) ^
do mysqldump -u root --password="<PASS>" --add-drop-table --add-drop-database %%D > ^
v:\backup\%YYYYMMDD%-mysql\%YYYYMMDD%-%%D.sql

"C:\Program Files\7-Zip\7z.exe" a -y -bd -v500m -ssw "v:\backup\%YYYYMMDD%-mysql-all.zip" v:\backup\%YYYYMMDD%-mysql

rmdir /S /Q v:\backup\%YYYYMMDD%-mysql