Con este script y el mysqldump exportaremos cada una de las bases de datos en archivos separados por el nombre de la DB y la fecha actual.
Es conveniente crear un usuario con todos los permisos excepto DROP y TRUNCATE
# -c (INSERT completo, incluyendo nombre de columnas)
# -R (ROUTINES, funciones o store-procedures)
# -Q (pone tablas y columnas entre comillas)
# -u (define el usuario con el que va a exportar)
# -E (exporta eventos)
#!/bin/sh
for db in `mysql -u backup –password=m1Sup3rCl4ve -Be ‘show databases’`; do
if [ $db != “Database” ]; then
/usr/local/mysql/bin/mysqldump -c -E -R –skip-lock-table –add-drop-table -Q -u backup –password=m1Sup3rCl4ve $db | gzip -1 -c > /mnt/backup/$db-$(date -I).sql.gz;
fi
done