MySQL: script per backup ’selettivo’

15 08 2007

Puo’ capitare di dover metter mano a siti o web application di clienti che, per risparmiare, hanno attivato sul proprio hosting un unico database MySQL e, col crescere delle applicazioni installate su di esso, hanno iniziato a differenziare le tabelle con un prefisso (es. applicazione1_nometabella, applicazione2_nometabella ecc…).

Puo’ capitare altresi’ di dover migrare una sola di queste applicazioni su un’altro server…come fare un backup del database salvando solo le tabelle con un determinato prefisso? Con questo script:

echo "SHOW TABLES" | mysql -uUSERNAME -pPASSWORD -D DBNAME | grep ^prefisso_ | xargs mysqldump -uUSERNAME -pPASSWORD DBNAME | gzip -c > backup.sql.gz

(sostituite naturalmente USERNAME, PASSWORD, DBNAME e prefisso_ con i rispettivi dati)


Azioni

Informazione

2 risposte

16 08 2007
Cristian

Potrebbe tronare utile :)

P.S.: attento che con IE7 la stringa non si legge, tagli fuori una bella fetta di utenza.

16 08 2007
Andy

Accidenti! Hai ragione! :-)
eccola:
echo “SHOW TABLES“ | mysql -uUSERNAME -pPASSWORD -D DBNAME | grep ^prefisso_ | xargs mysqldump -uUSERNAME -pPASSWORD DBNAME | gzip -c > backup.sql.gz

Lascia un commento