MySQL/MariaDB: batch per backup di tutti i database in file separati (Windows)

15 Novembre 2018 di In: Script, Sistemistico, SQL
Il seguente batch permette di effettuare il backup di tutti i database presenti in un’installazione MySQL/MariaDB, comprimerli e salvare il file compresso in una cartella a piacere con un solo comando. Ovviamente lo script può essere migliorato, ma questa è una buona base.
REM Trova la data
set currentdate=%DATE:~-2%%DATE:~3,2%%DATE:~0,2%_%TIME:~0,2%%TIME:~3,2%
 
REM Imposta cartella bin di MySQL
set mysqldir=C:\xampp\mysql\bin\
 
REM Imposta la cartella di backup temporanea - meglio se vuota
set mysqlbkpdir=C:\xampp\mysql\bin\backup\
 
REM Utente MySQL e relativa pass
set mysqluser=root
set mysqlpass=password
 
REM Percorso dell'applicazione di compressione - se non si utilizza RAR verificare la sintassi corretta per l'applicazione
set zipexe=C:\Program Files (x86)\WinRAR\Rar.exe
 
REM Percorso del file di output compresso
set rardestfolder=C:\Users\foo\Dropbox\
 
REM Estrae la lista dei database (escludendo quelli di sistema) ed esegue il dump
%mysqldir%mysql.exe -u %mysqluser% -p%mysqlpass% -s -N -e "SHOW DATABASES" | for /F "usebackq" %%D in (`findstr /V "information_schema performance_schema"`) do %mysqldir%mysqldump -u %mysqluser% -p%mysqlpass% %%D  > %mysqlbkpdir%%%D.sql
 
REM Comprime i file SQL estratti in un unico file RAR
"%zipexe%" a -r %rardestfolder%DBBackup%currentdate%.rar %mysqlbkpdir%*.sql
 
REM Cancella i file sql temporanei
del %mysqlbkpdir%*.sql

Nessun commento presente