Script para hacer backup de MySQL o Maria DB

Todos los comentarios sobre redes y servidores en linux y su interacción con otros sistemas operativos.

Moderadores: doc, Kde_Tony, ps-ax

Responder
Avatar de Usuario
elhui2
Forista Medio
Forista Medio
Mensajes: 361
Registrado: Vie Abr 11, 2008 7:00 am
Ubicación: D.Fectuoso
Contactar:

Script para hacer backup de MySQL o Maria DB

Mensaje por elhui2 » Vie Ene 12, 2018 2:36 am

Hola foreros de EL:

Tenía mucho que no publicaba un hilo en el foro, quiero pasar lista con la pandilla de EL más seguido.

Según yo estoy organizando mis servidores, e hice un pequeño script para hacer backup de mis bases de datos:

Código: Seleccionar todo

#!/bin/sh

#Environment
HOSTNAME='localhost'
DATE=`date +%Y-%m-%d`

#Server Mysql
MYSQLUSER='root'
MYSQLPASS=''

#Path to backup directory
cd /home/root/backup
mkdir backup_$DATE
cd backup_$DATE

#Dumping every database
for DB in $(mysql -h $HOSTNAME -u $MYSQLUSER --password=${MYSQLPASS} --batch --skip-column-names --execute="show databases");
do
	
	#Ignoring MySQL && Maria DB databases
	if [ "$DB" = "information_schema" ] || [ "$DB" = "performance_schema" ] || [ "$DB" = "sys" ] || [ "$DB" = "mysql" ]; then
        echo "Ignorando information_schema, performance_schema, sys, mysql";
    else
    	echo Backup $DB
        FILENAME=${HOSTNAME}_${DATE}_DB_${DB}.sql
		mysqldump $DB -h $HOSTNAME -u $MYSQLUSER --password=${MYSQLPASS} --triggers --routines > $FILENAME
    fi
done

#Exit of directory
cd ..

#Package the backup in tar.gz
tar -zcf backup_${DATE}.tar.gz backup_$DATE

#Remove the database directory
rm -rf backup_$DATE
Me gustaría prenderlo en el crontab y que se ejecutara cada lunes por poner un ejemplo, pero antes de meter la pata tengo un par de preguntas.

¿Este script representa un problema de seguridad en el servidor? ¿Cual sería el peor escenario desde un servidor web?
Estoy poniendo la contraseña del root en el "código" y hasta la db me tira un warning.

¿Existe una forma mas sencilla de hacer esta tarea?
Como paso dos quiero usar S3 de AWS para subir los respaldos desde el script pero si hay algo hecho, alguna alternativa para backups ...

Lo subí al github

Saludos, que tengan un 2018 lleno de exito y salud.
No te establezcas en una forma, adáptala y construye la tuya propia, y déjala crecer, sé como el agua. Vacía tu mente, se amorfo, moldeable, como el agua. B.L.
Mi Blog
Avatar de Usuario
Hawkingsagan
Administrador
Administrador
Mensajes: 4187
Registrado: Mié May 12, 2004 7:00 am
Ubicación: México.
Contactar:

Re: Script para hacer backup de MySQL o Maria DB

Mensaje por Hawkingsagan » Mar Ene 16, 2018 6:17 am

Hola elhui2.

La forma mas sencilla seria configurar la replicación a otro servidor, con eso matas dos pajaros de un tiro haces el backup en tiempo real y lo guardas en una ubicación externa, no tienes que manejar contraseña de root , pues creas un usuario con privilegios de replicación y nada mas, el poner tu contraseña de root en un script por supuesto que s un agujero de seguridad para un servidor en producción, si yo te fuera atacar y de alguna manera consigo entrar a alguno de tus directorios lo primero que haría seria husmear con grep alguna linea como root, pwd, pass etc etc.. entre otras cosas.

Si tu servidor no es de impacto tampoco hace falta ser paranoico, ponlo a funcionar, es una buena forma de hacer respaldos.

Saludos.
Linux User # 394644
Distros: Ubuntu Server, Ubuntu Desktop, Linux Mint y Open Mandriva
Twitter:@hawkingsagan
Responder
  • Similar Topics
    Respuestas
    Vistas
    Último mensaje