MySQL: script per backup 'selettivo'



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)

Published: August 15 2007

  • category: