meta data de esta página
  •  

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
Última revisiónAmbos lados, revisión siguiente
aplicaciones:backup:veeam [2018/05/16 12:53] – [Backup consistente de una base de datos mysql/mariadb] lcaplicaciones:backup:veeam [2023/01/18 14:36] – editor externo 127.0.0.1
Línea 8: Línea 8:
   - Realizar una copia a otro repositorio del backup que realiza de su propio catálogo   - Realizar una copia a otro repositorio del backup que realiza de su propio catálogo
   - Activar CBT (Change block truck). Antes de aplicarlos no tener snapshots abiertos previamente   - Activar CBT (Change block truck). Antes de aplicarlos no tener snapshots abiertos previamente
 +
 +https://www.veeam.com/blog/how-to-avoid-misconfigurations-setting-up-veeam.html
  
 ===== Backup consistente de una base de datos mysql/mariadb ==== ===== Backup consistente de una base de datos mysql/mariadb ====
Línea 21: Línea 23:
 Lo primero que tenemos que hacer es definir una cuenta que tenga permisos en la mv destino para poder ejecutar el script. Para eso vamos al Veeam Backup -> Manage Credentials{{ :aplicaciones:backup:manage_credentials.png?nolink&600 |}} Lo primero que tenemos que hacer es definir una cuenta que tenga permisos en la mv destino para poder ejecutar el script. Para eso vamos al Veeam Backup -> Manage Credentials{{ :aplicaciones:backup:manage_credentials.png?nolink&600 |}}
 Añadimos una nueva, en mi caso  del tipo Linux Account {{ :aplicaciones:backup:add_user.png?nolink&600 |}} Añadimos una nueva, en mi caso  del tipo Linux Account {{ :aplicaciones:backup:add_user.png?nolink&600 |}}
 +
 +=== Paso 2 ===
 +Una vez creada la cuenta que vamos a utilizar para ejecutar los scripts, lo siguiente será crear los scripts. Recomiendo crearlos con el Notepad++ ya que tenemos que guardarlos aplicando la compatibilidad para linux.  Es decir, antes de guardar el fichero deberemos ir al Notepad+++->Edit->EOL Conversion y elegir la opción **UNIX/OSF Format**
 +Crearemos dos scripts uno para bloquear la BDD y el otro para desbloquearla una vez creado el snapshot
 +
 +== precongelarmysql.sh ==
 +<sxh bash>
 +#!/bin/bash
 +# config:
 +# Por defecto usamos el usuario y la clave que hay que definir en  /etc/my.cnf
 +# En caso contrario, descomentar la línea inferior y poner usuario y contraseña para la bdd
 +#use_credentials="-uroot -pcontraseña"
 +defaults_file="/etc/my.cnf"
 +timeout=300
 +lock_file=/tmp/mysql_tables_read_lock
 +###
 +if [ -f $defaults_file ]; then
 +opts="--defaults-file=$defaults_file"
 +fi
 +if [ -n $use_credentials ]; then
 +opts="$opts $use_credentials"
 +fi
 +sleep_time=$((timeout+10))
 +rm -f $lock_file
 +echo "$0 executing FLUSH TABLES WITH READ LOCK" | logger
 +mysql $opts -e "FLUSH TABLES WITH READ LOCK; system touch $lock_file; system nohup sleep
 +$sleep_time; system echo\ lock released|logger; " > /dev/null &
 +mysql_pid=$!
 +echo "$0 child pid $mysql_pid" | logger
 +c=0
 +while [ ! -f $lock_file ]
 +do
 +# check if mysql is running
 +if ! ps -p $mysql_pid 1>/dev/null ; then
 +echo "$0 mysql command has failed (bad credentials?)" | logger
 +exit 1
 +fi
 +sleep 1
 +c=$((c+1))
 +if [ $c -gt $timeout ]; then
 +echo "$0 timed out waiting for lock" | logger
 +touch $lock_file
 +kill $mysql_pid
 +fi
 +done
 +echo $mysql_pid > $lock_file
 +exit 0
 +</sxh>
 +== post-congelarmysql.sh ==
 +<sxh bash>
 +#!/bin/bash
 +lock_file=/tmp/mysql_tables_read_lock
 +###
 +mysql_pid=$(cat $lock_file)
 +echo "$0 sending sigterm to $mysql_pid" | logger
 +pkill -9 -P $mysql_pid
 +rm -f $lock_file
 +exit 0
 +</sxh>
 +
 +Los ficheros creados los copiamos a un directorio del servidor donde tenemos instalado el Veeam Backup.
 +
 +== Paso 3 ==
 +Si vamos a usar la validación a la bdd desde el fichero de configuración, editamos el fichero /etc/my.cnf de la mv donde tenemos instalada la BDD y añadimos lo siguiente:
 +<sxh bash>
 +[client]
 +user = usuario de mi bdd
 +password = contraseña usuario
 +</sxh>
 +
 +En caso contrario debemos de modificar el script de pre para poner el usuario y la constraseña para validarse en la bdd
 +
  
 ==== Referencias ==== ==== Referencias ====
   * https://www.virtuallifestyle.nl/2013/03/back-up-mysql-on-linux-without-stopping-services-or-dumping-the-database/   * https://www.virtuallifestyle.nl/2013/03/back-up-mysql-on-linux-without-stopping-services-or-dumping-the-database/
   * https://www.veeam.com/wp-consistent-protection-mysql-mariadb.html   * https://www.veeam.com/wp-consistent-protection-mysql-mariadb.html