Como hacer un mysqldump de tablas según un patron
Si nunca te has encontrado con la necesidad de hacer un mysqldump de un conjunto de tablas y no de toda la base de datos, el script siguiente facilita el trabajo:
#!/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
El script permite hacer un mysqldump de las tablas que responden a un patron en concreto. Por ejemplo, para hacer un mysqldump de todas la tablas de la base de dades 'basedatos' que empiezan por 'sales' hay que ejecutar:
./mysqldump_bypattern.sh basedatos usuario password sales% fichero_de_salida.dump
El script se puede descargar aquí.
Com fer un mysqldump de taules segons un patró
Com automatitzar snapshots a S3 de AWS Amazon