Imprimir página | Cerrar ventana

Archivo Backup, doomsday y Mysql

Impreso de: Foro de Access y VBA
Categoría: Otros de Microsoft: Windows y Office
Nombre del foro: Visual Basic Clásico (VB3...VB6)
Descripción del foro: Foro de Visual Basic (No VBA)
URL: http://www.mvp-access.com/foro/forum_posts.asp?TID=82455
Fecha de impresión: 24/Julio/2019 a las 11:33


Tema: Archivo Backup, doomsday y Mysql
Publicado por: alberto_computos
Asunto: Archivo Backup, doomsday y Mysql
Fecha de publicación: 18/Enero/2017 a las 16:12
En algún momento me he encontrado con el inconveniente de querer realizar un backup de las bases de datos Mysql desde Ms Access, y este se realizase cada 30 minutos, además que el archivo resultante me lo enviase a otro equipo de mi red.

Partiendo de la idea, que esa tarea fuese automática,  y el primer problema que encontré, fue el de establecer cual era el dia de la semana actual, para que mi archivo de seguridad tuviese ese nombre, por ejemplo Lunes, Martes, etc.

El código que a continuación pego, modificaciones mas o menos, genera un archivo "c:\my.bat" que toma el programador de tareas de Windows cada "x" minutos (esto lo deben hacer uds)  y ejecuta el backup, además de la deducción del dia de la semana (utilice el algoritmo de doomsday) , establece los parámetros necesarios para realizar el backup en caliente de una base de datos MYSQL, desde Ms Access O Vb.

Espero les sirva.

Dim Mes(12), Dia$(12), Fec$, Path1$, Path2$
Fec$ = Mid$(Date$, 4, 2) + "/" + Mid$(Date$, 1, 2) + "/" + Right$(Date$, 4)
Mes(1) = 5
Mes(2) = 1
Mes(3) = 1
Mes(4) = 4
Mes(5) = 6
Mes(6) = 2
Mes(7) = 4
Mes(8) = 0
Mes(9) = 3
Mes(10) = 5
Mes(11) = 1
Mes(12) = 3
Dia$(0) = "Domingo"
Dia$(1) = "Lunes"
Dia$(2) = "Martes"
Dia$(3) = "Miercoles"
Dia$(4) = "Jueves"
Dia$(5) = "Viernes"
Dia$(6) = "Sabado"
Dia$(7) = "Domingo"
'***********************************
' ubicacion fisica del archivo mysqldump.exe 
'**********************************
Path1$="c:\progra~2\mysql\mysqls~1.0\bin"
' ubicacion de la unidad y carpeta destino donde deseo transferir el archivo backup
'*************************************************************
Path2$="I:\backup_Sistemas\"
'****************************** comienzo ***********************
' calculo de bisiesto
'*************************************************************
bisiesto = Int(Val(Right$(Fec$, 2)) / 4)
dia1 = Val(Left$(Fec$, 2))
mes1 = Val(Mid$(Fec$, 4, 2))
ano = Val(Right$(Fec$, 2))

If (Val(Right$(Fec$, 4)) >= 1700 And Val(Right$(Fec$, 4)) <= 1799) Then Siglo = 5
If (Val(Right$(Fec$, 4)) >= 1800 And Val(Right$(Fec$, 4)) <= 1899) Then Siglo = 3
If (Val(Right$(Fec$, 4)) >= 1900 And Val(Right$(Fec$, 4)) <= 1999) Then Siglo = 1
If (Val(Right$(Fec$, 4)) >= 2000 And Val(Right$(Fec$, 4)) <= 2099) Then Siglo = 0
Calculo = dia1 + Mes(mes1) + ano + bisiesto + 1 + Siglo
diasem = Calculo Mod 7
' apertura y creacion del archivo bat para backup de base de datos
'*********************************************************
Open "c:\my.bat" For Output As #1
' grabacion del contenido del archivo my.bat
'*********************************************************
' miclave= la clave del usuario root de mysql
'********************************************************
Print #1, "cd " & Path1$
Print #1, "mysqldump --all-databases --host=localhost --user=root --password=miclave>c:\Backup_" + Dia$(diasem) + ".sql"
Print #1, "cd \"
Print #1, "powershell xcopy c:\Backup_" + Dia$(diasem) + ".sql " &  Path2$ & "*.* /y"
Close #1





Imprimir página | Cerrar ventana