https://foro.gambas-es.org/viewtopic.php?f=3&t=1458&p=8450#p8450
-----------------------------------
soplo
Miercoles, 02 Marzo 2011, 15:39

Re: Como Hacer Copias De Seguridad Mysql
-----------------------------------
¿Y para qué quieres un programa para hacer copias de seguridd cuando mysql ya tiene a mysqldump y a mysqlhotcopy?

El segundo es específico para copias de seguridad y el primero sirve para todo (y también para hacer copias de seguridad)

Con mysqldump tanto puedes hacer copias de seguridad como transferir una base de datos a otro servidor.

mysqldump --opt mibase > copia_seguridad.sql

y para restaurar

mysql mibase < archivo.sql

Yo me hice un script en su día para automatizar eso y así que las copias se hicieran sistemáticamente.


[code linenumbers=false syntax=gambas]# declarar variables
logfich="/var/log/mysqlbackup.log"
backup="/backup"
fecha=`date +%Y%m%d_%H%M`
usuario=$1
clave=$2

# borrar log anterior
rm $logfich

cd $backup

# hacer copia de seguridad de todas las bases de datos a las que el usuario tiene acceso
 for BBDD in $( mysql -u $username --password=$password -h localhost -Bse 'show databases' ); do
 echo "Creando copia de seguridad de $BBDD"
  
# Volcamos la base de datos en un fichero temporal
 mysqldump --user=$usuario --password=$password $BBDD > datos.sql

# comprimirlo
 tar cvjf mysql-$BBDD-$fecha.tar.bz2 *.sql
  
# El nombre del fichero resultante contiene el nombre de la base de datos y la fecha de la copia.
  
 echo "Backup completo en la base de datos: $BBDD (mysql-$BBDD-$fecha.tar.bz2)" >> $logfile
  
# Borramos el fichero temporal
 rm datos.sql
 done
[/code]

Puedes pasar eso con el cron si quieres que te lo haga el sistema o puedes usar una aplicación gambas y usar el timer por ejemplo para que periodicamente haga la copia. solo necesitas pasarle como parámetro el usuario y clave que haga la copia de seguridad. Se hacen copias de todas las bases a las que ese usuario tiene acceso. Las copias quedan en un directorio creado al efecto (en el que el usuario debe tener permiso de escritura), debidamente comprimidas, con la fecha en el nombre y para restaurarlas hay que darle usuario y clave.

En mi caso. la clave esá encriptada en md5 para que no se pueda restaurar la copia sino es a traves de la aplicación que tengo al efecto a fin de evitar equivocaciones y accidentes. Tengo pensado hacerle algún cambio para que la copia en vez de quear en el directorio backup quede en otra máquina pero soy un perezoso y está por hacer.


