Foros del Web » Programando para Internet » ASP Clásico »

Algo complejo (hacer copia de seguridad de la base de datos cada x tiempo)

Estas en el tema de Algo complejo (hacer copia de seguridad de la base de datos cada x tiempo) en el foro de ASP Clásico en Foros del Web. Hola maestros... tengo un problema con un cliente.... no se como hacerle entender que la perdida de informacion se produjo por una mala utilizacion de ...
  #1 (permalink)  
Antiguo 27/07/2005, 16:38
Avatar de El_Metallick  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago, Chile
Mensajes: 1.718
Antigüedad: 22 años, 6 meses
Puntos: 16
Algo complejo (hacer copia de seguridad de la base de datos cada x tiempo)

Hola maestros... tengo un problema con un cliente.... no se como hacerle entender que la perdida de informacion se produjo por una mala utilizacion de la aplicacion dice que es una falencia de mi sistema.... en base a esto se me ocurro ver la posibilidad de guardar todos los dias un respaldo de seguridad de la base de datos.... pero que no se sobre escriban, sino que se acumulen todos los respaldos de la semana en una carpeta y luego los de la otra semana en otra y asi a la vez agrupada en meces..... tambien queria saber si hay alguna forma de guardar en un txt todas las manipulaciones de datos de la bace de datos mediante la aplicacion, vale decir que cada vez que se modifique, se cree o se borre un registro en la base de datos esto quede guardado en un .txt, la idea es que en este archivo este la hora y el dia en el que se realizo la accion y los datos que estuvieron involucrados en ella.... bueno espero que se entienda la idea... saludos y gracias de antemano
__________________
Haz la guerra en la cama y el amor donde se te de la gana...
El tiempo es el mejor maestro, lo único malo es que te mata...¡¡Aprovecha tu tiempo!!
  #2 (permalink)  
Antiguo 27/07/2005, 16:59
Avatar de sjam7  
Fecha de Ingreso: diciembre-2001
Ubicación: Guadalajara, Mexico
Mensajes: 3.672
Antigüedad: 23 años, 4 meses
Puntos: 16
Bueno, te paso este script para generar una copia de una base de datos, con el nombre usando la fecha, y un numero aleatorio como nombre, el nombre queda algo asi 20050920_1854.mdb en la carpeta respaldo, ya el hacerlo automatico sera cosa de ver como se podria hacer
Código:
<%
Randomize()
num = CInt(Int((9999 * Rnd()) + 1)) 
fecha=date()
'response.write replace(fecha,"/","") &"<br>"
'response.write num
nombre=replace(fecha,"/","") &"_"&num

StrCarpeta = server.mappath(".")
'if right(StrCarpeta,1) <> "\" then StrCarpeta = StrCarpeta & "\"

Set oFSO = Server.CreateObject("Scripting.FileSystemObject")
Set archivo = oFSO.GetFile(strCarpeta & "\base.mdb") 
tamano = formatnumber(archivo.size/1000,0)
	If oFSO.FileExists(strCarpeta & "\base.mdb") Then
	   Response.Write ("Respaldo completo<br>")
	   oFSO.CopyFile (StrCarpeta & "\base.mdb"), strCarpeta&"/respaldos/"&nombre&".mdb"
	   Response.Write "<b>base.mdb </b><br>"&tamano & " kb <br><br>"
	   Response.Write "<b><a href=respaldos/base.mdb>Descargar respaldo</a><br><br>"
	   Response.Write "<a href=sistema.asp?pan=9>REGRESAR</a>"
	else
	   Response.Write ("* La base de datos <B'>" & Request.form("DBFileName") & "</B'> no se encontro u ocurrio algun error.<br>"&strCarpeta)
	   Response.Write "<br><br><a href=sistema.asp?pan=9>REGRESAR</a>"
	End If
%>
  #3 (permalink)  
Antiguo 27/07/2005, 17:09
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 4 meses
Puntos: 98
La otra es que migres a SQL o MySQL, y te crees una tarea de backup

Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #4 (permalink)  
Antiguo 27/07/2005, 17:41
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 24 años, 2 meses
Puntos: 535
Cita:
tambien queria saber si hay alguna forma de guardar en un txt todas las manipulaciones de datos de la bace de datos mediante la aplicacion, vale decir que cada vez que se modifique, se cree o se borre un registro en la base de datos esto quede guardado en un .txt, la idea es que en este archivo este la hora y el dia en el que se realizo la accion y los datos que estuvieron involucrados en ella
Interesante, no se me había ocurrido.
Supongo que valdrá hacer, en vez de un Response.Write "sentenciaSQL_que_hace_un_UPDATE_DELETE_INSERT ", podrías hacerte una función que mediante FSO escriba ese contenido en un archivo de texto (o en una BD, me parece más cómodo)
__________________
...___...
  #5 (permalink)  
Antiguo 27/07/2005, 18:58
Avatar de El_Metallick  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago, Chile
Mensajes: 1.718
Antigüedad: 22 años, 6 meses
Puntos: 16
ok muchisimas gracias por sus respuestas amigos saludos
__________________
Haz la guerra en la cama y el amor donde se te de la gana...
El tiempo es el mejor maestro, lo único malo es que te mata...¡¡Aprovecha tu tiempo!!
  #6 (permalink)  
Antiguo 27/07/2005, 21:27
Avatar de lexus  
Fecha de Ingreso: enero-2002
Ubicación: Cali - Colombia
Mensajes: 2.234
Antigüedad: 23 años, 4 meses
Puntos: 4
perdon por meterme en el tema::: u_goldman yo me pase de access a mysql ya hace un tiempo y no se como hacer los backups en esta base de datos. hay alguna forma de hacerlo cada determinado tiempo? como seria?
gracias.
__________________
Control de Visitantes, Control de Accesos, Minutas digitales, Manejo de Correspondencia
http://www.controldevisitantes.com
  #7 (permalink)  
Antiguo 28/07/2005, 08:59
 
Fecha de Ingreso: abril-2004
Ubicación: México D.F.
Mensajes: 1.724
Antigüedad: 21 años
Puntos: 4
Bueno, en primera hay objetos que te ayudan hacer un respaldo a através de ADO, ten en cuenta que deberias tambien compactar la base de datos, cosa que casi nadie hace via código. Quiza este código sea otro más de los ineditos que he mencionado.

Set jro = Server.CreateObject("JRO.JetEngine")

jro.CompactDatabase "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\base.mdb;Jet OLEDB:Database Password=orharo", _
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\new_base.mdb;Jet OLEDB:Engine Type=5;Jet OLEDB:Database Password=orharo"

Type=5 para JET4X SUPERIOR.

P.D. si puedes migrar a sql server, mejor, pues ahi lo puedes hacer de forma visual especificando que hora,dia todo. Se llama planes dde mantenimiento.
  #8 (permalink)  
Antiguo 28/07/2005, 10:28
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 4 meses
Puntos: 98
master Orharo, realmente veo que te has vuelto especialista en ADO
Ninguno de los dos objetos que has mencionado, los conocia, ni siquiera sospechaba de su existencia

Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #9 (permalink)  
Antiguo 28/07/2005, 10:51
 
Fecha de Ingreso: abril-2004
Ubicación: México D.F.
Mensajes: 1.724
Antigüedad: 21 años
Puntos: 4
Cita:
Iniciado por u_goldman
master Orharo, realmente veo que te has vuelto especialista en ADO
Ninguno de los dos objetos que has mencionado, los conocia, ni siquiera sospechaba de su existencia

Salu2,
Master sólo hacemos nuestro trabajo.
Saludos.
  #10 (permalink)  
Antiguo 28/07/2005, 13:11
Avatar de El_Metallick  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago, Chile
Mensajes: 1.718
Antigüedad: 22 años, 6 meses
Puntos: 16
muchisimas gracias.... saludos
__________________
Haz la guerra en la cama y el amor donde se te de la gana...
El tiempo es el mejor maestro, lo único malo es que te mata...¡¡Aprovecha tu tiempo!!
  #11 (permalink)  
Antiguo 28/07/2005, 14:55
 
Fecha de Ingreso: octubre-2000
Mensajes: 1.692
Antigüedad: 24 años, 6 meses
Puntos: 19
Amigos muy interesante este post, no se me habia ocurrido estas ideas. También estaría bueno que agregaran esa rutina en el post de colección de rutinas.
__________________
PD: Con amor, fe, amor a Dios y amistad podemos hacer un mundo mejor!!!!
  #12 (permalink)  
Antiguo 28/07/2005, 18:06
Avatar de lexus  
Fecha de Ingreso: enero-2002
Ubicación: Cali - Colombia
Mensajes: 2.234
Antigüedad: 23 años, 4 meses
Puntos: 4
y para mysql?
__________________
Control de Visitantes, Control de Accesos, Minutas digitales, Manejo de Correspondencia
http://www.controldevisitantes.com
  #13 (permalink)  
Antiguo 28/07/2005, 18:19
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 4 meses
Puntos: 98
Lexus, disculpame, no habia visto tu pregunta, desde MySQL admin lo puedes hacer en la parte de backups -> schedule, tienes que crearte un proyecto nuevo.

Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #14 (permalink)  
Antiguo 28/07/2005, 19:34
Avatar de lexus  
Fecha de Ingreso: enero-2002
Ubicación: Cali - Colombia
Mensajes: 2.234
Antigüedad: 23 años, 4 meses
Puntos: 4
ok voy a revisar y te aviso.
gracias,
__________________
Control de Visitantes, Control de Accesos, Minutas digitales, Manejo de Correspondencia
http://www.controldevisitantes.com
  #15 (permalink)  
Antiguo 28/07/2005, 21:38
Avatar de lexus  
Fecha de Ingreso: enero-2002
Ubicación: Cali - Colombia
Mensajes: 2.234
Antigüedad: 23 años, 4 meses
Puntos: 4
hola ya vi esa opcion en mysql administrator, pero me sale inactiva como la puedo activar?
gracias.
__________________
Control de Visitantes, Control de Accesos, Minutas digitales, Manejo de Correspondencia
http://www.controldevisitantes.com
  #16 (permalink)  
Antiguo 28/07/2005, 21:43
Avatar de lexus  
Fecha de Ingreso: enero-2002
Ubicación: Cali - Colombia
Mensajes: 2.234
Antigüedad: 23 años, 4 meses
Puntos: 4
ya lo encontre no lo habia visto, mucho ciego

gracias ..
__________________
Control de Visitantes, Control de Accesos, Minutas digitales, Manejo de Correspondencia
http://www.controldevisitantes.com
  #17 (permalink)  
Antiguo 30/07/2005, 00:56
 
Fecha de Ingreso: enero-2004
Ubicación: Chihuahua, México
Mensajes: 146
Antigüedad: 21 años, 3 meses
Puntos: 0
Y si no tienes acceso a phpmyadmin o a herramientas de administradores, pues podrías utilizar alguno de los códigos antes mencionados para hacer copias de las bd's, utilizando el el global.asa dependiendo del número de los visitantes a tu web, o algo por el estilo. Haces un "If application("visitantes")>20 then todo el código para la copia.
Aunque esto tienes sus contras, pues a veces la entrada de usuarios no es constante.

Y ya que andamos hablando de bases de datos y de tiempo, les recomiendo esta paginilla. No tiene qué ver con asp, pero estoy seguro a alguien le servirá: http://www.dwalker.co.uk/phpmysqlautobackup/

Saludos.
__________________
¡Que todo sea para bien del hombre!
www.dechihuahua.com
Comunidad Chihuahuense
----------- (50%)
Sólo hasta que el Hombre siente la energía universal, sabe de lo que está hecho.

Última edición por terraqueotenaz; 30/07/2005 a las 01:20
  #18 (permalink)  
Antiguo 01/08/2005, 15:38
Avatar de ajmataurus  
Fecha de Ingreso: enero-2005
Mensajes: 268
Antigüedad: 20 años, 4 meses
Puntos: 0
De acuerdo otra ruta

hola Sjam7
no sabes mas o meonos como poder generar una copia de seguridad cada determinado tiempo???
bueno otra pregunta, `cómo podría hacer para generar la copia fuera del directorio raiz???: StrCarpeta = server.mappath(".")
si mi base de datos lo tengo en la carpeta /noticias y dentro de esta carpeta esta el codigo, cómo poder copiar la copia en otra carpeta distinta de la capeta /noticias poe ejemplo en la carpeta /BK???
gracias
att.
Taturus
__________________
creando conciencia Nacionalista...!!!!! :si:
  #19 (permalink)  
Antiguo 01/08/2005, 15:51
Avatar de sjam7  
Fecha de Ingreso: diciembre-2001
Ubicación: Guadalajara, Mexico
Mensajes: 3.672
Antigüedad: 23 años, 4 meses
Puntos: 16
bueno, te recomiendo que lo hagas en directorio raiz o superior por que muchos servidores no soportan moverse por directorios con server.mappath, puedes intentar cambiando el (".") por ("respaldo\")
  #20 (permalink)  
Antiguo 01/08/2005, 16:32
Avatar de ajmataurus  
Fecha de Ingreso: enero-2005
Mensajes: 268
Antigüedad: 20 años, 4 meses
Puntos: 0
bueno, cómo lo hago en directorio superior????
__________________
creando conciencia Nacionalista...!!!!! :si:
  #21 (permalink)  
Antiguo 04/08/2005, 11:57
Avatar de ajmataurus  
Fecha de Ingreso: enero-2005
Mensajes: 268
Antigüedad: 20 años, 4 meses
Puntos: 0
no hay respuestas????
__________________
creando conciencia Nacionalista...!!!!! :si:
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:34.