Hacer BackUp

174 views
Skip to first unread message

Jose Manuel Urbaez Mendez

unread,
Nov 7, 2014, 1:36:09 PM11/7/14
to publice...@googlegroups.com
Buenas tardes

Tengo una aplicación, para la cual he hecho una rutina, un tanto rudimentaria, para BackUp la cual consiste en sacar una copia idéntica de cada tabla, grabarla en una carpeta X y luego comprimir dicha carpeta. Esto lo hago así porque toda la data está en DBF

He pensado mejorar la rutina y en vez de sacar una copia a cada tabla, mejor comprimir la carpeta, completa, donde se alojan los objetos de Base de Datos. Esto ademas de las tablas se llevara con sigo los archivos DBC, DCX, DCT, ademas de los indices, también toda aquella configuración que esté contenida dentro de la Base de Datos, como son unas que otras vistas que hay en la aplicación.

Ustedes que me dicen de esto ?

Gracias anticipadas.



Ricardo Pina

unread,
Nov 7, 2014, 2:32:03 PM11/7/14
to Grupo VFP
Hola Jose
Tu idea es como debiera ser realmente el backup como para tener integridad de tus datos

Te sugiero que mires el link

http://www.sweetpotatosoftware.com/spsblog/2008/02/22/VFPDatabaseBackupMadeSimple.aspx

Saludos
--
            

                   Ricardo Pina

Desarrollo y Servicios Informáticos

                  Profesionales
               www.dsip.com.ar

 

 

acmc

unread,
Nov 7, 2014, 4:27:04 PM11/7/14
to publice...@googlegroups.com
Que tal Jose..

Hay muchas formas de hacer esto, en mi caso tengo la necesidad de respaldar sin que los usuarios se tengan que salir del sistema y esto hay muy pocos programas que lo hacen, yo utilizo cobian backup el cual tiene la funcion de hacer esto, lo instalas en una Pc configuras directorios a respaldar, donde los quieres tener respaldados, configuras dias, horas a realizar el respaldo, ya sea completo, diferencial o incremental y listo.. solito se encarga de realizar los respaldos, ya solo hay que revisar el log que te genera y cerciorarse de vez en cuando que haya respaldos en la carpeta destino, tengo años usandolo y sin ningun problema.. lo mejor que es gratuito.

Salu2!! 

Jorge Kiernan

unread,
Nov 7, 2014, 4:57:29 PM11/7/14
to publicesvfoxpro
¿usando tareas programadas en el servidor? es decir, cambiar el enfoque del problema y sacarlo del sistema, que sea algo automático externo que se corra tipo tres de la mañana.

acmc

unread,
Nov 10, 2014, 10:28:35 AM11/10/14
to publice...@googlegroups.com
Jkiernan... 

No se usan tareas programadas del servidor, el mismo software tiene la opción de programar fechas y horas de cada respaldo que tu definas, yo no le veo ninguna ventaja querer tener control de respaldos dentro de un sistema desarrollado en fox ya que no te permitira realizar respaldos de archivos si no tienes exclusivos

Victor Lopez

unread,
Nov 12, 2014, 11:27:07 AM11/12/14
to publice...@googlegroups.com
La opción de usar vfpcompression.fll como comentó Ricardo es bastante funcional y sencilla, to la tengo implementada desde hace mucho y no tengo problemas, a continuación el ejemplo:

Cabe señalar que si usas el proceso al entrar o al salir de tu sistema para que se haga automáticamente, podrías dirigir el respaldo al equipo local y no necesariamente tienen que abrirse los archivos en uso exclusivo

vDir = FULLPATH(Thisform.txtRutaResp.Value)  && Mi destino
IF EMPTY(vDir)
WAIT WINDOW 'No se ha especificado directorio para respaldos'+CHR(13)+;
'Entre a redefinir la empresa para hacerlo' NOWAIT 
RETURN .F.
ENDIF
IF !DIRECTORY(vDir)
MD (vDir)
ENDIF 
nRsp = DTOS(DATE())
*- Uso una función _Dia que me da el nombre del día se la semana y así se vaya sobreescribiendo cada semana
lcFile = ALLTRIM(_Dia(DOW(DATE())))+'.zip'
lcRutaFile = vDir+'\'+lcFile
archivos = ADDBS(oApp.ruta)  && oApp.ruta es el path de la base de datos (DBF, DBC, DCT, etc.)
myDir = archivos + "*.*"
LOCAL nFiles as Integer
nFiles = ADIR(aTablas, myDir)
IF nFiles = 0
RETURN .F.
ENDIF 
CLOSE TABLES ALL 
CLOSE DATABASES ALL 


WAIT WINDOW 'Añadiendo datos al archivo Zip...' NOWAIT 

SET LIBRARY TO vfpCompression.fll
ZipOpen(lcRutaFile)
FOR x=1 TO nFiles
ZipFile(archivos + aTablas(x,1), .T.)
NEXT 
ZipClose()
SET LIBRARY TO

Thisform.txtArchivozip.Value = 'Archivo '+lcFile+' generado.'

Thisform.Refresh()
WAIT WINDOW 'Respaldo terminado.' NOWAIT 


Saludos !

--

______________________
Victor Gerardo López
Director de desarrollo
POSMEX, Guadalajara
33 3359 9565

integral

unread,
Nov 12, 2014, 12:29:02 PM11/12/14
to publice...@googlegroups.com
Amigo MONTAND :

Buen ejemplo de implementacion de SET LIBRARY TO vfpCompression.fll

Tenia anteriormente un formulario que realizaba el BACKUP y la Restauracion de la DATA de manera funcional pero al ir apareciendo nuevos sistemas operativos en ocasiones fallaba el proceso estaba, utilizando el ECLIPSE CABINET.OCX

Ahora pienso cambiar dicho formulario por otro que encontre en un link para mejorarlo o adaptarlo a  vfpCompression.fll, pero el tema para mi es el factor tiempo...

PD : ADJUNTO IMAGEN DEL NUEVO FORMULARIO DEL BACKUP

Saludos,

INTEGRAL
Pantalla Backup.jpg

Jose Manuel Urbaez Mendez

unread,
Nov 12, 2014, 1:44:04 PM11/12/14
to publice...@googlegroups.com
Muy buena Montad, muy buena
Reply all
Reply to author
Forward
0 new messages