Foros del Web » Programando para Internet » PHP »

Backup

Estas en el tema de Backup en el foro de PHP en Foros del Web. Hay alguna funcion php para hacer una copia de seguridad de una base de datos mysql? Gracias...
  #1 (permalink)  
Antiguo 18/03/2007, 11:40
 
Fecha de Ingreso: septiembre-2004
Mensajes: 56
Antigüedad: 19 años, 7 meses
Puntos: 0
Backup

Hay alguna funcion php para hacer una copia de seguridad de una base de datos mysql?
Gracias
  #2 (permalink)  
Antiguo 18/03/2007, 14:40
grg
 
Fecha de Ingreso: enero-2006
Mensajes: 28
Antigüedad: 18 años, 3 meses
Puntos: 0
Exclamación Re: Backup

Hola,
yo también estoy interesado en encontrar alguna librería que disponga de ese tipo de funciones (también para importar la base de datos).
Mi idea es hacer un código php para hacer la copia de seguridad (igual que el "Exportar" de phpMyAdmin, pero para no entrar a phpMyAdmin, por eso quiero hacer ese codigo) y poder acceder desde el entorno que ya tengo integrado en el servidor.

¡Muchas gracias por su atención!
Un saludo
  #3 (permalink)  
Antiguo 18/03/2007, 14:47
Avatar de xempro  
Fecha de Ingreso: marzo-2007
Ubicación: Chile
Mensajes: 222
Antigüedad: 17 años, 1 mes
Puntos: 6
Re: Backup

Pasen por: http://php-hispano.net/archivos/Scripts/205/1.0.6, ahí puede estar la solución a su problema.


NOTA: Script no lo he testeado.
  #4 (permalink)  
Antiguo 18/03/2007, 16:01
Avatar de DeeR  
Fecha de Ingreso: diciembre-2003
Ubicación: Santiago
Mensajes: 520
Antigüedad: 20 años, 4 meses
Puntos: 17
Re: Backup

Aqui tengo un Articulo llamado Respaldo de BD Mysql el cual utiliza Dos Clases, una para crear el Backup de la Base de Datos (comprimida) y luego otra Clase que envia dicho Archivo al Correo electronico.

Funciona muy bien, ya que lo tengo aplicado a varios proyectos, y lo tengo configurado con un cron, para que me haga respaldo cada semana, en otros cada dia, etc ...

Saludos
  #5 (permalink)  
Antiguo 19/03/2007, 13:18
grg
 
Fecha de Ingreso: enero-2006
Mensajes: 28
Antigüedad: 18 años, 3 meses
Puntos: 0
Re: Backup

Muchas gracias a los dos.
Al final me he decantado por el Script desarrollado por DeeR. Está muy completo, .
Sólo tengo un percance, y es que, la base de datos a "respaldar" la tengo en mi pc, en un servidor que tengo ejecutado con WampServer, y al ejecutarlo aquí, me sale el siguiente error:

Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in c:\wamp\www\backup\AttachmentMail.php on line 77
Surgerion Problemas al Enviar el Correo

Supongo que será porque la función mail no está implementada en este servidor (en su artículo, DeeR, decía que era necesario esto). ¿Qué puedo hacer para que pueda mandar el email?

P.D.: He puesto todo el código en un servidor en internet, y desde allí me he conectado a la base de datos de mi pc, y ha funcionado correctamente, pero mi pc tiene IP dinámica , con que eso sólo me sirve para probarlo :P
Gracias por su ayuda!
Saludos

Última edición por grg; 19/03/2007 a las 13:33
  #6 (permalink)  
Antiguo 19/03/2007, 14:52
Avatar de DeeR  
Fecha de Ingreso: diciembre-2003
Ubicación: Santiago
Mensajes: 520
Antigüedad: 20 años, 4 meses
Puntos: 17
Re: Backup

Cita:
Iniciado por grg Ver Mensaje
Muchas gracias a los dos.
Al final me he decantado por el Script desarrollado por DeeR. Está muy completo, .
Sólo tengo un percance, y es que, la base de datos a "respaldar" la tengo en mi pc, en un servidor que tengo ejecutado con WampServer, y al ejecutarlo aquí, me sale el siguiente error:

Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in c:\wamp\www\backup\AttachmentMail.php on line 77
Surgerion Problemas al Enviar el Correo

Supongo que será porque la función mail no está implementada en este servidor (en su artículo, DeeR, decía que era necesario esto). ¿Qué puedo hacer para que pueda mandar el email?

P.D.: He puesto todo el código en un servidor en internet, y desde allí me he conectado a la base de datos de mi pc, y ha funcionado correctamente, pero mi pc tiene IP dinámica , con que eso sólo me sirve para probarlo :P
Gracias por su ayuda!
Saludos

Sucede que tienes que configurar el servidor de correo en tu php.ini , por default para windows, tiene configurado con localhost, es decir, necesitamos un servidor para enviar mails.

Uno muy bueno , gratuito y liviano, es el minirelay , simplemente lo ejecutas, y listo ya tienes un servidor smtp en tu windows, y con esto, el php esta capazitado para enviar mails.

Saludos
  #7 (permalink)  
Antiguo 19/03/2007, 15:14
grg
 
Fecha de Ingreso: enero-2006
Mensajes: 28
Antigüedad: 18 años, 3 meses
Puntos: 0
Re: Backup

Woo, ¡está perfecto! jaja, es una maravilla. Al ejecutarlo ya ha enviado un correo que debería de haber enviado antes.
No se si estará loco o algo, pero al arrancarlo, siempre me dice que hay 3 archivos a la espera y se queda loco diciendo que no resuelve las DNS.
Ejecuto el fichero del backup y le pasa el correo al minirelay, lo envía, y ya parece que los envía todos, pero la próxima vez que lo abro, sigue ahí. Bueno, conque funcione cuando lo ejecute ejje, está muy bien.

Lo he intentado actualizar con el EzUpdate.exe, y se ha jodido jajaja.

Bueno, muchas gracias por todo DeeR.

Un saludo
  #8 (permalink)  
Antiguo 19/03/2007, 15:26
 
Fecha de Ingreso: octubre-2006
Ubicación: Valparaiso Chile
Mensajes: 228
Antigüedad: 17 años, 5 meses
Puntos: 0
Re: Backup

Cita:
Iniciado por DeeR Ver Mensaje
Aqui tengo un Articulo llamado Respaldo de BD Mysql el cual utiliza Dos Clases, una para crear el Backup de la Base de Datos (comprimida) y luego otra Clase que envia dicho Archivo al Correo electronico.

Funciona muy bien, ya que lo tengo aplicado a varios proyectos, y lo tengo configurado con un cron, para que me haga respaldo cada semana, en otros cada dia, etc ...

Saludos
Yo he bajado también el script, pero me funciona a medias, dandome el siguiente error

Cita:
Warning: gzopen(./nombre_usuario.sql.gz) [function.gzopen]: failed to open stream: Permission denied in /home/hotname/public_html/spc/backup/mysql_db_backup.class.php on line 404
mandó el correo sin el archivo de respaldo adjunto
  #9 (permalink)  
Antiguo 19/03/2007, 19:54
Avatar de DeeR  
Fecha de Ingreso: diciembre-2003
Ubicación: Santiago
Mensajes: 520
Antigüedad: 20 años, 4 meses
Puntos: 17
Re: Backup

Por una extraña razon (del foro) al quotearte, no me sale tu mensaje completo.

Cita:
Warning: gzopen(./nombre_usuario.sql.gz) [function.gzopen]: failed to open stream: Permission denied in /home/hotname/public_html/spc/backup/mysql_db_backup.class.php on line 404
Puede ser posible, que te equibocaste en los datos de la base de datos, es decir en el nombre de la base de datos, ya que , trata de acceder a un fichero que no existe, puede ser por que el fichero nunca se creo ( debido a que el nombre de la base de datos no corresponde) o el directorio no tiene los permisos suficientes (666 o 777) aunque creo que no esto ultimo

Comprueba el name de tu bd (y q el user tenga acceso a dicha base de datos)

Saludos
  #10 (permalink)  
Antiguo 19/03/2007, 20:37
 
Fecha de Ingreso: octubre-2006
Ubicación: Valparaiso Chile
Mensajes: 228
Antigüedad: 17 años, 5 meses
Puntos: 0
Re: Backup

MUchas gracias por la respuesta, el problema era con el permiso de la carpeta, el problema es que uso linux (DEBIAN) y no sabia la nomenclatura de los numeros, ya que aparecen cuadros con X, pero ahora ya sé, y todo solucionado, muchas gracias y que tengas un día saludable
  #11 (permalink)  
Antiguo 20/03/2007, 10:15
 
Fecha de Ingreso: octubre-2006
Ubicación: Valparaiso Chile
Mensajes: 228
Antigüedad: 17 años, 5 meses
Puntos: 0
Re: Backup

Ye me ha funcionado el script para hacer los respaldos y enviarmelos a mi correo de gmail.

Pero ahora tengo la siguiente duda, haber si me pueden ayudar con la ruta que tengo que darle al Cron Jobs, para que ejecute el archivo PHP, yo tengo la carpeta backup wn la siguiente ruta, http://www.midominio.com/htr/backup/index.php, como debo debo escribir la ruta en el Cron?
  #12 (permalink)  
Antiguo 20/03/2007, 10:27
Avatar de DeeR  
Fecha de Ingreso: diciembre-2003
Ubicación: Santiago
Mensajes: 520
Antigüedad: 20 años, 4 meses
Puntos: 17
Re: Backup

fichero cron.txt
Código:
MAILTO="[email protected]"
0 12 * * 0 /usr/bin/wget -N -q http://www.midominio.com/htr/backup/index.php
Vas a un shell tipeas
Código:
crontab cron.txt
Y listo , el cron realizara una peticion al script, una vez a la semana

Saludos
  #13 (permalink)  
Antiguo 20/03/2007, 11:23
 
Fecha de Ingreso: octubre-2006
Ubicación: Valparaiso Chile
Mensajes: 228
Antigüedad: 17 años, 5 meses
Puntos: 0
Re: Backup

Esa parte no la entiendo, como un shell, y eso como se hace en la pagina web?
y esto /usr/bin/wget -N -q http://www.midominio.com/htr/backup/index.php yo lo pongo en la linea de comandos del cron jobs de cpanel?

Sirve igual o no?
  #14 (permalink)  
Antiguo 20/03/2007, 11:30
Avatar de DeeR  
Fecha de Ingreso: diciembre-2003
Ubicación: Santiago
Mensajes: 520
Antigüedad: 20 años, 4 meses
Puntos: 17
Re: Backup

Cita:
Iniciado por claudio_hbl Ver Mensaje
Esa parte no la entiendo, como un shell, y eso como se hace en la pagina web?
y esto /usr/bin/wget -N -q http://www.midominio.com/htr/backup/index.php yo lo pongo en la linea de comandos del cron jobs de cpanel?

Sirve igual o no?
El metodo que te describir es como agregar un cronjobs desde una terminal de linux/unix

Por supuesto q si tienes acceso a cronjobs desde cpanel, hazlo, simplemente configura los * para el tiempo, y agrega el comando /usr/bin/wget -N -q http://.......

Ya que casi todas las distro de linux tiene el comando wget, q es el q generar la peticion web,si no funciona, pregunta a tu hosting, que comando puedes utilizar (puede ser directamente el interprete php, navegador lynx, etc ..)

Googlea cronjobs para mas info


Saludos
  #15 (permalink)  
Antiguo 20/03/2007, 11:36
 
Fecha de Ingreso: octubre-2006
Ubicación: Valparaiso Chile
Mensajes: 228
Antigüedad: 17 años, 5 meses
Puntos: 0
Re: Backup

Ya gracias, voy a probar así, y tambien voy a googlear

Que tengas un dia saludable
  #16 (permalink)  
Antiguo 20/03/2007, 15:14
 
Fecha de Ingreso: octubre-2006
Ubicación: Valparaiso Chile
Mensajes: 228
Antigüedad: 17 años, 5 meses
Puntos: 0
Re: Backup

he hecho lo siguiente
0 0 *** y tambien *****
/usr/bin/wget -N -q http://www.midominio.com/htr/backup/index.php

y no funciona, no hace nada, ni siquiera un error, para saber de que se trata, no envia ni hace nada.

El script esta bien, porque lo he probado solo y funciona, solo que con el Cron es donde tengo problemas, he buscado en el google pero no encuentro nada que me pueda ayudar, lo de este hilo es lo que mas me ha servido.

Por favor si alguien tiene otra idea de que puede ser, eternos agradecimientos.
  #17 (permalink)  
Antiguo 22/03/2007, 12:51
grg
 
Fecha de Ingreso: enero-2006
Mensajes: 28
Antigüedad: 18 años, 3 meses
Puntos: 0
Exclamación Re: Backup

hola,

el backup generado por el script que hay arriba dado por DeeR, creo que tiene un problemilla al generar el respaldo, a ver si alguien me puede ayudar a solucionarlo. Es que el "collection" (la codificación de caracteres) no se cuál coge, lo único que se, esque las "ñ", las tildes, etc, los pone como "?" en el respaldo generado.

¿Alguien puede exarle un vistazo al código y decirme si encuentra cómo arreglarlo, o añadiéndole algo?

Gracias,,,un saludo
  #18 (permalink)  
Antiguo 23/03/2007, 00:25
Avatar de DeeR  
Fecha de Ingreso: diciembre-2003
Ubicación: Santiago
Mensajes: 520
Antigüedad: 20 años, 4 meses
Puntos: 17
Re: Backup

Cita:
Iniciado por claudio_hbl Ver Mensaje
he hecho lo siguiente
0 0 *** y tambien *****
/usr/bin/wget -N -q http://www.midominio.com/htr/backup/index.php

y no funciona, no hace nada, ni siquiera un error, para saber de que se trata, no envia ni hace nada.

El script esta bien, porque lo he probado solo y funciona, solo que con el Cron es donde tengo problemas, he buscado en el google pero no encuentro nada que me pueda ayudar, lo de este hilo es lo que mas me ha servido.

Por favor si alguien tiene otra idea de que puede ser, eternos agradecimientos.
Entonces no te funcionan los cronjobs en tu hosting, creo que seria bueno que hablaras con tu hosting, lo otro es utilizar un sistema gratuito de cronjobs AQUI


Cita:
Iniciado por grg Ver Mensaje
hola,

el backup generado por el script que hay arriba dado por DeeR, creo que tiene un problemilla al generar el respaldo, a ver si alguien me puede ayudar a solucionarlo. Es que el "collection" (la codificación de caracteres) no se cuál coge, lo único que se, esque las "ñ", las tildes, etc, los pone como "?" en el respaldo generado.

¿Alguien puede exarle un vistazo al código y decirme si encuentra cómo arreglarlo, o añadiéndole algo?

Gracias,,,un saludo
El Backup respecta el Collation con que fue creado la Tabla.
Creo que tu problema va en la formo como Restauras el Archivo Respaldado o la Eleccion del Collation de la tabla original , yo he trabajado con estos collation sin ningun problema latin1_spanish_ci ,utf8_spanish_ci y latin1_swedish_ci (y creo q con otros mas)




Saludos
  #19 (permalink)  
Antiguo 23/03/2007, 09:10
grg
 
Fecha de Ingreso: enero-2006
Mensajes: 28
Antigüedad: 18 años, 3 meses
Puntos: 0
Re: Backup

DeeR, el problema creo está en el código del script, porque las tildes y las "ñ" ya las omite en el propio .sql generado...

¿Alguien ve algo?

Gracias de antemano
  #20 (permalink)  
Antiguo 03/04/2007, 10:12
Avatar de cala932  
Fecha de Ingreso: septiembre-2006
Ubicación: San Juan-Argentina
Mensajes: 902
Antigüedad: 17 años, 7 meses
Puntos: 9
Re: Backup

Hola DeeR, estuve mirando el script, esta muy bueno, pero tengo unas dudas que a lo mejor me puedas hechar una mano. Lo probe pero me larga lo siguiente:
Código PHP:
Warningmain(mysql_db_backup.class.php): failed to open streamNo such file or directory in c:appservwwwsecretariabackupbackup.php on line 7

Fatal error
main(): Failed opening required 'mysql_db_backup.class.php' (include_path='.;c:\php4\pear'in c:appservwwwsecretariabackupbackup.php on line 7 
De donde tengo que sacar esas clases, esta es la linea 7:
Código PHP:
require_once 'mysql_db_backup.class.php'
Espero que puedas ayudarme. Saludos y desde ya muchas Gracias.
__________________
->Aprender es un proceso que incluye el error..
  #21 (permalink)  
Antiguo 03/04/2007, 16:09
Avatar de DeeR  
Fecha de Ingreso: diciembre-2003
Ubicación: Santiago
Mensajes: 520
Antigüedad: 20 años, 4 meses
Puntos: 17
Re: Backup

Cita:
Iniciado por cala932 Ver Mensaje
Hola DeeR, estuve mirando el script, esta muy bueno, pero tengo unas dudas que a lo mejor me puedas hechar una mano. Lo probe pero me larga lo siguiente:
Código PHP:
Warningmain(mysql_db_backup.class.php): failed to open streamNo such file or directory in c:appservwwwsecretariabackupbackup.php on line 7

Fatal error
main(): Failed opening required 'mysql_db_backup.class.php' (include_path='.;c:\php4\pear'in c:appservwwwsecretariabackupbackup.php on line 7 
De donde tengo que sacar esas clases, esta es la linea 7:
Código PHP:
require_once 'mysql_db_backup.class.php'
Espero que puedas ayudarme. Saludos y desde ya muchas Gracias.

Seguramente es por que estas viendo solamente el respaldo.php fijate q en el tips, abajo se encuentra en enlace a un fichero zip (o rar) que contiene todos los archivos (las dos clases que utilizamos).

Saludos
  #22 (permalink)  
Antiguo 04/04/2007, 05:20
Avatar de cala932  
Fecha de Ingreso: septiembre-2006
Ubicación: San Juan-Argentina
Mensajes: 902
Antigüedad: 17 años, 7 meses
Puntos: 9
Re: Backup

ok Mil gracias, ya los bajo y te cuento como me fue, Saludos y Gracias por tu tiempo
__________________
->Aprender es un proceso que incluye el error..
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 11:59.