Ver Mensaje Individual
  #1 (permalink)  
Antiguo 31/01/2011, 10:34
bozape
 
Fecha de Ingreso: agosto-2009
Mensajes: 8
Antigüedad: 13 años
Puntos: 0
Información Respaldo Automatico Windows Programador de Tareas

Hola!

Primero decir que este post es un complemente de este otro:

http://www.forosdelweb.com/f86/respaldos-automaticos-417902/

Decidi publicar uno nuevo porque el anterior ya tiene mucho tiempo sin actividad y asi me fue sugerido.

Tomando como referencia el script que hace el backup utilizando mysqldump lo que hice fue mejorarlo un poco que ya explicare.

Primero publicare el script y luego veremos que hace:

Código:
@echo off
FOR /F "tokens=1,2,3 delims=/ " %%i IN ('date /T') do (set DIA= %%k%%j%%i)
FOR /F "tokens=1,2 delims=: " %%n IN ('time /T') do (set HORA= %%n%%o) 

md "%dia%_%hora%"

E:\mysql64\bin\mysqldump -u root -pCLAVEDEROOT NOMBREBD > "e:\mysql_backup\%dia%_%hora%\NOMBREBD_%dia%_%hora%.sql"
Ok veamos como funciona:

1. es un simple archivo bat (ahora cmd) que utiliza el ejecutable mysqldump de mysql para hacer una backup de una base de datos en un archivo de texto plano .sql.

2. Las lineas que inician con FOR es asignar a dos variables "DIA" y "HORA" el dia y la hora actual en el formato "AAAAMMDD" para el "DIA" y "HHMM" para "HORA"

3. La linea que inicia con MD lo que hace es crear una carpeta cuyo nombre sera el dia y la hora actual. Por ejemplo "20110131_1029"

4. La ultima linea de codigo es la que hace el backup de la base de datos:

root es el usuario con que ingresaremos a my sql, puede ser cualquier otro usuario que tengas los permisos respectivos.

CLAVEDEROOT lo cambiaremos por la clave del usuario que estemos usando.

NOMBREBD lo cambiamos por el nombre de la BD que queremos respaldar. Vean que se debe cambiar en dos partes del comando.

E:\mysql64\bin\ lo cambian por la ruta donde tienen instalado el mysql o se encuentre el ejecutable mysqldump.

e:\mysql_backup\ lo cambian por la ruta donde van a hacer el backup respectivo

La ultima linea del script que hace el backup deben repetirla para cada BD que tengan en MYSQL en mi caso la repeti como 20 veces.

Por ultimo se crean una tarea programada en el administrador o programador de tareas de windows donde agregan el script para que se ejecute con la frecuencia que ustedes deseen, en mi caso todos los dias a las 3 am.

Para terminar decir que no se si es la forma mas eficiente o segura de hacer un bakcup de mysql en windows pero al menos para mi fue muy practico y facil de implementar.

Salu2

BOZAPE