Script: Backup de todas las bases de datos MySQL

Script: Backup de todas las bases de datos MySQL

Este script lo que hace es hacer una copia de seguridad de todas las bases de datos de MySQL o MariaDB, los comprime con gzip y los guarda en una carpeta que como nombre tiene la fecha en la que se ejecutó el script.

#!/bin/bash

PORT="3306"
USER="usuario"
PASSWORD="xxx"
mysql=/usr/bin/mysql
mysqldump=/usr/bin/mysqldump

directorio=/root

mkdir $directorio/$(date +%Y-%m-%d)

carpeta=$directorio/$(date +%Y-%m-%d)


DATABASES=`$mysql -P $PORT -u $USER --password=$PASSWORD --execute="SHOW DATABASES;" |awk '{print($1)}' | grep -v "Database" | grep -v "information_schema" |grep -v "performance_schema"`

for database in $DATABASES

do
	file=$database.sql
	$mysqldump -P $PORT -u $USER --password=$PASSWORD $database > $carpeta/$file
	gzip $carpeta/$file
done

IMPORTANTE: La parte coloreada en rojo debe modificarse, primero el usuario, luego la contraseña y por último modificar el directorio donde se guardarán las copias de seguridad. Con grep -v excluimos las bases de datos que no queremos respaldar

Para utilizar el script, lo copiamos y lo guardamos en un archivo con la extensión .sh y le damos los permisos de ejecución con:

$ sudo chmod +x archivo.sh

Para ejecutar

$ sh archivo.sh

Deja un Comentario

Tu dirección de email no será publicada. Required fields are marked *

*