Effettuare il backup dei database MySql in windows
Uno strumento che ogni web developer dovrebbe avere "nel cassetto" è sicuramente PhpMyAdmin il quale, oltre a tantissime funzioni di gestione, permette anche il backup dei vari database. Alternativamente è possibile utilizzare, attraverso terminale, il comando apposito che MySql mette a dispozione, mysqldump.
Backup database
Invece di utilizzare direttamente la linea di comando è più comodo creare un file batch in modo da poter eseguire l'operazione altre volte in maniera rapida. Il codice da inserire nel file . bat è il seguente:
@echo off Title MySql Backup set/p DB_NAME=Inserisci il nome del database da salvare: echo Backup database MySql in corso... set curr_date=%date:~6,4%-%date:~3,2%-%date:~0,2% mysqldump -uUsername -pPassword --opt "%DB_NAME%" > c:\%DB_NAME%_Backup-%curr_date%.sql echo. echo Backup %DB_NAME% terminato echo. pause
Questo script chiede in ingresso il nome del database e lo salva in C aggiungendo al nome "_Backup" e la data di esecuzione in formato "YYY/MM/DD". Naturalmente è necessario di modificare l'assegnazione del parametro -u con l'username e -p con la password del database.
Lo script precedente effettua il backup di un solo database, per salvare tutti i database presenti è possibile modificare il comando nel seguente modo:
mysqldump -uUsername -pPassword --all-databases > c:\%DB_NAME%_Backup-%curr_date%.sql
Comprimere il backup
E' possibile comprimere il backup appena creato utilizzando gzip, in modo da ridurne le dimensioni e mantenere la compatibilità con l'importazione di PhpMyAdmin. Prima di tutto è necessario scaricare gzip per windows e poi copiare il file "gzip.exe" nella cartella "system32" di windows. Il codice da aggiungere al file .bat è il seguente:
gzip -v9 c:\%DB_NAME%_Backup-%curr_date%.sql
Lo script non fa altro che comprimere il file .sql generato da mysqldump e comprimerlo in un file .gzip avente lo stesso nome.
Backup Automatico
Per pianificare l'operazione di backup in modo che venga eseguita automaticamente è possibile impostare l'"utilità di pianificazione" di windows. E' sufficiente creare una nuova azione che ad ogni determinata ricorrenza (ogni giorno, una volta alla settimana, ogni mese, ecc.) esegua il file .bat.
Download: Backup database singolo | Backup tutti i database
Nota: Ho fatto questi script in 5 minuti poiché ne avevo bisogno urgentemente quindi sono abbastanza "grezzi", ogni suggerimento e/o critica è ben accetta
| Stampa l'articolo | Questo articolo è stato pubblicato da Silvicius il 18 aprile 2010 alle 17:36, ed è archiviato come Database, Internet, Windows. Puoi seguire i commenti a questo post attraverso RSS 2.0. Puoi pubblicare un commento o segnalare un trackback dal tuo sito. |



circa 1 anno fa
Ottimo!
Io utilizzo questo metodo già da un po’. Si può anche preparare lo script che lavori in automatico e schedularlo dal prompt o dallo scheduler nel pannello di controllo.