Com fer un mysqldump de taules segons un patró
Si mai us heu trobat amb la necessitat de fer un mysqldump d'un conjunt de taules i no de tota la base de dades, l'script següent facilitat la feina.
#!/bin/bash
if [ $# -lt 5 ]; then
echo "Exports data from mysql database in tables matching a like pattern e.g. 'table_%'"
echo "Usage: $0 dbname dbuser dbpass pattern outputfile"
exit 1
fi
DBNAME=$1
DBUSER=$2
DBPASS=$3
PATTERN=$4
OUTPUTFILE=$5
TABLES=( `mysql -u$DBUSER -p$DBPASS $DBNAME --silent -e "show tables like '$PATTERN'"` )
for TABLE in "${TABLES[@]}"; do
mysqldump -u$DBUSER -p$DBPASS $DBNAME $TABLE >> $OUTPUTFILE
done
L'script permet fer un mysqldump de les taules que responen a un patró en concret. Així dons, per fer un dump de totes les taules de la base de dades 'basededades' que comencen per 'sales' cal executar:
./mysqldump_bypattern.sh basedades usuari password sales% fitxer_de_sortida.dump
L'script es pot descarregar aquí.