Mysql – Backup de todas las bases de datos

Os traigo un script para exportar todas las bases de datos de vuestro MySQL.

#!/bin/bash
OUTPUT="/ruta/donde/guardar/los/backups"

databases=`mysql -e "SHOW DATABASES;" | tr -d "| " | grep -v Database`

for db in $databases; do
    if [[ "$db" != "information_schema" ]] && [[ "$db" != "performance_schema" ]] && [[ "$db" != "mysql" ]] && [[ "$db" != _* ]] ; then
        echo "Dumping database: $db"
        mysqldump --databases $db > $OUTPUT/`date +%Y%m%d`.$db.sql
       # gzip $OUTPUT/`date +%Y%m%d`.$db.sql
    fi
done

Este script dejara las copias de seguridad en la ruta que se ha indicado en la variable «OUTPUT».

Se debe ejecutar con un usuario que tenga permisos en MySQL, de lo contrario, habrá que modificar la llamada a «mysqldump» para incluir las credenciales de un usuario con acceso.

mysqldump --user=USUARIO --password=CONTRASEÑA -databases $db > $OUTPUT/`date +%Y%m%d`.$db.sql

También podemos descomentar la antepenúltima linea para comprimir las bases de datos una vez finalizada la exportación.

gzip $OUTPUT/`date +%Y%m%d`.$db.sql

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.